본문 바로가기

가중치3

[비전공자용] CNN (합성곱 신경망)에서 필터를 적용한다는 것의 의미 이해하기 이번 포스트에서는 합성곱 신경망에서 필터가 어떻게 작용하는지 이해하기 쉽게 설명해보려 한다. 신경망 학습을 통해서 loss손실을 줄이는 방향으로 이 가중치가 변화하게 된다. 먼저 그 변화를 자세히 살펴보자. 1. 처음에 가중치를 설정할 때는 랜덤으로(무작위로) 값을 정하기 때문에 의미없는 값들로 이루어져 있다. 아무 규칙이 없다는 말이다. 2. 학습을 거치면서 필터는 규칙성 있는 형태로 변화한다. 3. 학습된 필터 몇 개를 선택해서 입력받은 이미지에 합성곱 처리(Test)를 해보면 4. 각각의 필터 특징에 맞게 어떤 특징이 부각되어 이미지를 출력한다. 이해를 돕기 위해 예를 들어보자. CNN을 구성하는 한 합성곱 계층의 가중치가 (30, 1, 5, 5)의 형상을 가지고 있다고 하자. ☞ 통상적으로 필터 .. 2020. 7. 29.
[비전공자용] [Python] Xavier Initialization (Xavier 초기화) & He Initialization (He 초기화) 신경망 학습에서 가중치 초깃값을 어떻게 정하느냐에 따라 신경망 학습이 성공할 수도 있고 실패할 수도 있습니다. 은닉층 Hidden Layer의 활성화값(활성화 함수의 출력 데이터, 계층 사이를 흐르는 데이터)의 분포를 잘 관찰하면 가중치를 어떻게 설정해야 좋을지 알 수 있습니다. 은닉층이 5개이고, 각 층의 뉴런이 100개씩 존재한다고 합시다. 입력 데이터로서 1,000개의 데이터를 표준정규분포로 랜덤하게 생성하여 5층 신경망에 흘리고 각 층의 활성화값을 비교해 볼 것 입니다. 활성화 함수로는 시그모이드 Sigmoid 함수를 사용하고, 각 층의 활성화 결과를 activations 변수에 저장합니다. 가중치 초깃값을 표준정규분포로 설정하고 표준편차를 변화시키면서 활성화 결과를 히스토그램으로 보겠습니다. 파.. 2020. 7. 10.
[비전공자용] [Python] 모멘텀, AdaGrad, Adam 최적화기법 이번 포스트에서는 모멘텀, AdaGrd, Adam 최적화 기법에 대해 상세히 알아볼 겁니다. 1. 모멘텀 Momentum 모멘텀은 운동량을 뜻하는 단어로, 신경망에서의 모멘텀 기법은 아래 수식과 같이 표현할 수 있습니다. SGD에서와 마찬가지로 W 는 갱신할 가중치 매개변수, L은 손실함수를 나타내고 η 는 학습률 learning rate, ∂L/∂W은 W 에 대한 손실함수의 기울기를 나타냅니다. SGD와 달리 변수 v가 등장하는데 물리에서 운동량을 나타내는 식은 p = mv, 질량 m, 속도 v이므로 위 수식에서도 v는 속도를 의미합니다. 매개변수 α를 v에 곱해서 αv 항은 물체가 아무 힘도 받지 않을 때도 서서히 하강시키는 역할을 하게 됩니다. 물리에서의 마찰력이라고 생각하면 편할 것 같습니다. 하.. 2020. 7. 9.
반응형