본문 바로가기

공부 정리/딥러닝6

[딥러닝2]신경망의 순전파 저번 포스팅에서는 단층 퍼셉트론의 기본 개념과 한계에 대해 살펴보았고, 비선형 문제를 해결하기위해 다층 퍼셉트론이 필요함을 이해했습니다. 이번 페이지에서는 신경망의 순전파, 즉 주어진 입력에 대해 신경망의 최종적인 예측까지의 과정을 살펴보겠습니다.신경망의 구현 신경망은 입력층, 은닉층, 출력층의 세 부분으로 구성됩니다. 각 층(Layer)은 뉴런(노드)으로 이루어져있으며, 뉴런은 다수의 신호를 입력으로 받아 정보를 처리하고 다음층의 뉴런으로 신호를 전달합니다.입력층신경망의 첫번째 층으로 일반적으로 0층으로 칭해집니다. 입력층의 뉴런수는 신경망으로 들어오는 입력 데이터의 특성(feature)수와 같은데 예를들어 28x28픽셀 크기의 이미지를 입력으로받는 신경망의 경우, 입력층에 784(28x28)개의 노드.. 2024. 1. 8.
[딥러닝1]퍼셉트론 이 포스팅 시리즈는 딥러닝에 대해 깊이 있게 이해하고자 하는 여정의 일환으로 작성되었습니다. "밑바닥부터 시작하는 딥러닝 1"이라는 책을 베이스로 공부했으며, 학습 중에 생기는 추가적인 궁금증은 chatgpt, 구글링, 유튜브 등 등 모든 방면으로 해소하고자 노력했습니다. 만약 내용 중 잘못된 부분을 발견하시면, 댓글로 알려주시면 매우 감사하겠습니다.퍼셉트론의 정의퍼셉트론(Perceptron)은 1957년에 Frank Rosenblatt에 의해 처음 발명되었으며, 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 신경망의 매우 단순한 형태이다.[그림 1] 여기 2개의 입력신호를 받는 퍼셉트론의 예시가 있다. $x_1$과  $x_2$는 입력 신호이며, 각각의 신호는 가중치 $w_1$과 $w_2$에 의해 .. 2023. 12. 26.
Pooling 레이어의 이해 풀링을 왜하는가1. 풀링은 입력이 작게 이동해도 근사적으로 불변이 되게 하는데 도움을 준다2. 데이터 차원의 감소pooling의 커널사이즈를 2*2, stride 2로 설정했을때 최종적인 데이터 크기를 1/4로 줄일수있다일정영역의 강한 피쳐만을 남길수있으며 신경망의 계산이 빨라진다 풀링의  기본설정pooling시 대부분 maxpool을 이용한다stride는 커널사이즈와 동일하게 설정하는것이 default값이다 pooling과 convolution레이어의 차이점학습해야할 가중치가없다풀링후 채널수가 변하지 않는다 pooling의 문제maxpooling으로 일정 영역의 강한 feature만을 다음 레이어로 넘기면 처음에는 적은 계산량으로 좋은 성능을 유지할 수 있을지 몰라도 깊은 레이어로 갈수록 정보유실이 커.. 2023. 2. 21.
패딩(padding) 사용하는 이유 패딩을 이용해 입력데이터를 특정값으로 감쌀수있다 주로 0을 이용한다고 한다패딩을 사용하는 이유는 세가지가 있다 첫번째는 출력크기의 감소를 막기위해서이다 예를들어 (4,4) 입력데이터에 (3,3) 필터를 적용하면 출력은 (2,2)가 되어 입력보다 2만큼 줄어든다이는 합성곱 연산을 몇번이나 되풀이하는 심층 신경망에서는 문제가 될 수 있다 위 그림과 같이 패딩의 폭을 1로 설정하니 (4,4)입력에 대한 출력이 같은 크기인 (4,4)로 유지되어 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다 두번째는외각을 0값으로 둘러싸는 특징으로부터 인공 신경망이 이미지의 외각을 인식하는 학습효과가 있다는 것이다 세번째는가장자리로 갈수록 연산에 이용되는 횟수가 떨어지는 문제점을 어느정도 해결해준다는것이다.. 2023. 2. 21.
합성곱 연산(Convolution operation) 방법 입력값이 커널과의 연산과정을 거쳐 출력값이 된다 커널은 필터라고도 불린다n*m크기의 행렬로 n*m크기의 겹쳐지는 부분의 원소값을 곱한뒤 모두 더한값을 출력으로 갖는다input_=np.array([1,2,3,2,1,0,3,0,1])kernel=np.array([1,0,1,1,0,1,0,1,0])sum(input_*kernel)이미지의 가장 왼쪽 위부터 가장 오른쪽 순차적으로 위과정을 반복한후 마지막으로 편향(bias)를 더해 최종적인 출력(feature map)을 만든다또한 위의 예제에서는 커널의 이동범위가 한칸이었지만 이또한 사용자가 정할수있으며 이러한 이동범위를 stride라고 한다 RGB 3채널의 이미지 한장에서 최종적인 feature map을 얻는 과정은 다음과 같다(보통 rgb값을 permute를.. 2023. 2. 21.
합성곱 신경망의 필요성 합성곱 신경망의 필요성해당 두 손글씨 이미지는 모두 알파벳 Y로 사람은 충분히 인식할수있다기존에는 1차원으로 변환된 결과를 이용했지만 이는 사람이 보기에도 이게 원래 어떤 이미지였는지 알아보기 어렵다이는 기계도 마찬가지이며 변환전에 가지고 있던 공간적인 구조 정보가 유실된상태예를들어 (4,5) 좌표와 (5,5) 좌표는 2차원 평면에서는 인접해있지만 위와같이 1차원으로 펼쳤을때는 매우멀다=>공간정보의 유실  출처https://wikidocs.net/62306 2023. 2. 21.