라벨이 backprop인 게시물 표시

[CS231n] Fully Connected Network 과제(Assignment)

이미지
포스팅을 시작하기에 앞서 수준 높은 강의와 강의 자료를 무료로 배포해주신 Stanford University CS231n 교수진께 감사의 말씀을 드립니다.  온라인 강의: https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk  강의 자료: https://cs231n.github.io   * 블로그 작성자 github 주소: https://github.com/withAnewWorld/JamesHanamura Assignment 구조 작성되어 있는 부분(파란색), 과제로 주어진 부분(빨간색)     - Load the preprocessed data     - fully connected network          - init(W, b)          - Loss(soft max)          - Gradient(backpropagation)     - Debugging strategy(Gradient check, relative error, visualize)               - Update rules           - SGD                     - SGD + Momentum          - RMS prop          - Adam     - Debugging s...

[CS 231n] Two layer net 과제(Assignment)

이미지
포스팅을 시작하기에 앞서 수준 높은 강의와 강의 자료를 무료로 배포해주신 Stanford University CS231n 교수진께 감사의 말씀을 드립니다.  온라인 강의: https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk  강의 자료: https://cs231n.github.io * 블로그 작성자 github 주소: https://github.com/withAnewWorld/JamesHanamura Fully connected layer 구조 input -> hidden layers(activation function cf) relu, sigmoid 등) -> loss function(svm, softmax 등) Assignment 구조 작성되어 있는 부분(파란색), 과제로 주어진 부분(빨간색)     - 데이터 불러오기     - 상대 오차 함수     - layers          - affine_forward & backward          - relu_forward & backward         - svm_loss         - softmax_loss     - Debugging strategy(gradient check, relative error)          cf) layer_utils(max(0, wx+b) forward & backward) - 자동화     - fc_net         - w1, b1,...

[CS231n] lecture 4. backpropagation 강의 요약

이미지
포스팅을 시작하기에 앞서 수준 높은 강의와 강의 자료를 무료로 배포해주신 Stanford University CS231n 교수진께 감사의 말씀을 드립니다.  온라인 강의: https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk  강의 자료: https://cs231n.github.io 1. 필요성     Deep learning의 경우 layer의 개수가 많아짐에 따라 자연스레 loss function은 매우 복잡한 형태를 띠게 된다. 따라서 이를 변수에 따라 편미분 하기 매우 어려워진다. 2. Idea     Chain rule에 따라 복잡한 문제를 쉬운 문제의 집합체로 생각한다. 3. 예시 새로운 노드의 gradient = 이전 노드의 gradient*새로운 노드의 미분 값 (value = result) 4. 특성(Add, Multiplication, Max)      뉴럴 네트워크의 특성 상 add 연산과 mul 연산, max 연산이 자주 쓰인다. ex) max(0, wx+b)    1. Add gate Add gate는 이전의 gradient를 공평하게 나눠주는 역할을 한다. 즉, 해당 노드의 gradient = 이전노드의 gradient (${d(x+y) \over dx}={d(x+y) \over dy}=1$)     2. Multiplication gate 해당 노드의 gradient = 이전 노드의 gradient*상대 value (${d(x*y) \over dx}$ = y, ${d(x*y) \over dy}$= $x$)     3. Max gate Max gate는 Add gate와 비슷하게 이전 노드의 gradient를 그대로 끌고 온다는 점이 비슷하지만 가장 큰 value를 가졌던 노드에만 gradient가 할...