SlideShare a Scribd company logo
1주차 - 자바 프로젝트:
Hidden layer과 Backpropagation
20190557 장영욱
Artificial Neural network
- 인공 신경망: 생물의 신경 세포를 모방하여 설계된 컴퓨팅 시스템
Perceptron
- Perceptron(1958): Binary Classification(e.g. 1 or 0 / 개 or 고양이)를 수행할 수
있는 단층 신경망
- 구성 요소
- Input nodes: 입력 값을 받는 노드
- Weights: 각 input 노드에 할당되어 곱해지는 값
- Bias: weighted sum에 더해지는 상수
- Weighted sum: sum of all (input*weight)
- Activation function: weighted sum을
binary output으로 바꿔주는 함수
Bias
What perceptron can do: classification w/ linear boundary
- 퍼셉트론의 동작은 다음과 같은 식을 계산하는 것과 같다고 할 수 있음.
- z는 데이터 xi
’s에 대한 linear regression로 볼 수 있음
- z: weighted sum / wi
: weight of ith
node / xi
: input to ith
node / b: bias
- z는 input x에 대한 선형함수라고 할 수 있다.
- 이 때 input node를 2개, f(z)를 위와 같은 step function으로 설정한다고
가정하면
1주차 - 자바 프로젝트_ Hidden layer과 Backpropagation.pdf
- (실제로는 x1
x2
z 3차원 좌표에 평면을 그리는 것)
- other examples
- input이 1차원인 경우에는 xz 좌표 상에 직선을 그리는 것
/ 차원을 확장하면 n차원 좌표에 hyperplane 그리기
What perceptron can do: classification w/ linear boundary
What perceptron cannot do: Non-linearly separable data
- 오른쪽 그래프에서 확인할 수 있듯 input의 XOR과 같은
linear boundary로 나눌 수 없는 데이터는 분류하지 못함
So what should we do?: add hidden layer
- Universal Approximation Theorem: “충분한 뉴런’’을 가진 1개의 hidden
layer(기존 퍼셉트론의 input과 ouput 사이에 추가된 한 개의 neural layer)를
통해 모든 연속 함수를 근사할 수 있음
1주차 - 자바 프로젝트_ Hidden layer과 Backpropagation.pdf
Modify step function
Sigmoid function
So what should we do?: add hidden layer
- 즉, hidden layer을 추가함으로써 어떤 연속 함수의 일부 구간을 막대 모양에
가깝게 근사하는 함수들을 만들어서 합칠 수 있음. ⇒ curved surface 구현
가능 (non-linear)
Implementation 1 - Human-crafted NN: drawing
Implementation 1 - Human-crafted NN: drawing
- 오른쪽 그래프는 x1
x2
z 좌표계를 z=0
으로 자른 단면
Implementation 1 - Human-crafted NN: Java code
Implementation 1 - Human-crafted NN: Java code
Implementation 1 - Human-crafted NN: Java code
Impl.n 2 - NN with Backpropagation + Gradient Descent
- Backpropagation: 신경망의 최종 output (prediction)과 참값 (label, ground
truth) 사이의 오차를 줄이는 방향으로 신경망의 weights와 bias를
업데이트하는 알고리즘
- Gradient descent: 최적화 알고리즘의 한 종류로 함수의 최솟값을 찾기 위해
사용됨.
- 둘을 함께 사용하는 과정은 다음과 같다.
- loss (objective)를 정의함: “줄이고 싶은 것이 정확히 무엇인가?”
- forward propagation (input을 신경망을 통해 기존 순서대로 처리해 output을
얻는 과정)을 통해 얻은 output과 label을 통해 loss를 계산함
- loss를 parameter에 대한 함수라고 생각했을 때, GD를 통해 loss를
최적화하는 방향으로 parameter를 업데이트 할 수 있음 (Chain rule 이용)
- Backpropagation 수행: output 쪽 layer에서 계산한 결과가 인접한 input 쪽
layer의 parameter에 대해 GD를 수행하는 데에 이용됨

More Related Content

PDF
Forward-Forward Algorithm
PPTX
A Beginner's guide to understanding Autoencoder
PPTX
Cnn 강의
PPTX
[Tf2017] day4 jwkang_pub
PDF
Survey of activation functions
PDF
이정근_project_로봇비전시스템.pdf
PDF
Lecture 4: Neural Networks I
PPTX
Deep learningwithkeras ch3_1
Forward-Forward Algorithm
A Beginner's guide to understanding Autoencoder
Cnn 강의
[Tf2017] day4 jwkang_pub
Survey of activation functions
이정근_project_로봇비전시스템.pdf
Lecture 4: Neural Networks I
Deep learningwithkeras ch3_1

Similar to 1주차 - 자바 프로젝트_ Hidden layer과 Backpropagation.pdf (7)

PPTX
03.12 cnn backpropagation
PDF
딥러닝 기본 원리의 이해
PPTX
EveryBody Tensorflow module2 GIST Jan 2018 Korean
PPTX
머피의 머신러닝 : Gaussian Processes
PPTX
R.T.Bach
PDF
Coursera Machine Learning (by Andrew Ng)_강의정리
03.12 cnn backpropagation
딥러닝 기본 원리의 이해
EveryBody Tensorflow module2 GIST Jan 2018 Korean
머피의 머신러닝 : Gaussian Processes
R.T.Bach
Coursera Machine Learning (by Andrew Ng)_강의정리
Ad

1주차 - 자바 프로젝트_ Hidden layer과 Backpropagation.pdf

  • 1. 1주차 - 자바 프로젝트: Hidden layer과 Backpropagation 20190557 장영욱
  • 2. Artificial Neural network - 인공 신경망: 생물의 신경 세포를 모방하여 설계된 컴퓨팅 시스템 Perceptron - Perceptron(1958): Binary Classification(e.g. 1 or 0 / 개 or 고양이)를 수행할 수 있는 단층 신경망 - 구성 요소 - Input nodes: 입력 값을 받는 노드 - Weights: 각 input 노드에 할당되어 곱해지는 값 - Bias: weighted sum에 더해지는 상수 - Weighted sum: sum of all (input*weight) - Activation function: weighted sum을 binary output으로 바꿔주는 함수 Bias
  • 3. What perceptron can do: classification w/ linear boundary - 퍼셉트론의 동작은 다음과 같은 식을 계산하는 것과 같다고 할 수 있음. - z는 데이터 xi ’s에 대한 linear regression로 볼 수 있음 - z: weighted sum / wi : weight of ith node / xi : input to ith node / b: bias - z는 input x에 대한 선형함수라고 할 수 있다. - 이 때 input node를 2개, f(z)를 위와 같은 step function으로 설정한다고 가정하면
  • 5. - (실제로는 x1 x2 z 3차원 좌표에 평면을 그리는 것) - other examples - input이 1차원인 경우에는 xz 좌표 상에 직선을 그리는 것 / 차원을 확장하면 n차원 좌표에 hyperplane 그리기 What perceptron can do: classification w/ linear boundary
  • 6. What perceptron cannot do: Non-linearly separable data - 오른쪽 그래프에서 확인할 수 있듯 input의 XOR과 같은 linear boundary로 나눌 수 없는 데이터는 분류하지 못함
  • 7. So what should we do?: add hidden layer - Universal Approximation Theorem: “충분한 뉴런’’을 가진 1개의 hidden layer(기존 퍼셉트론의 input과 ouput 사이에 추가된 한 개의 neural layer)를 통해 모든 연속 함수를 근사할 수 있음
  • 11. So what should we do?: add hidden layer - 즉, hidden layer을 추가함으로써 어떤 연속 함수의 일부 구간을 막대 모양에 가깝게 근사하는 함수들을 만들어서 합칠 수 있음. ⇒ curved surface 구현 가능 (non-linear)
  • 12. Implementation 1 - Human-crafted NN: drawing
  • 13. Implementation 1 - Human-crafted NN: drawing - 오른쪽 그래프는 x1 x2 z 좌표계를 z=0 으로 자른 단면
  • 14. Implementation 1 - Human-crafted NN: Java code
  • 15. Implementation 1 - Human-crafted NN: Java code
  • 16. Implementation 1 - Human-crafted NN: Java code
  • 17. Impl.n 2 - NN with Backpropagation + Gradient Descent - Backpropagation: 신경망의 최종 output (prediction)과 참값 (label, ground truth) 사이의 오차를 줄이는 방향으로 신경망의 weights와 bias를 업데이트하는 알고리즘 - Gradient descent: 최적화 알고리즘의 한 종류로 함수의 최솟값을 찾기 위해 사용됨. - 둘을 함께 사용하는 과정은 다음과 같다. - loss (objective)를 정의함: “줄이고 싶은 것이 정확히 무엇인가?” - forward propagation (input을 신경망을 통해 기존 순서대로 처리해 output을 얻는 과정)을 통해 얻은 output과 label을 통해 loss를 계산함 - loss를 parameter에 대한 함수라고 생각했을 때, GD를 통해 loss를 최적화하는 방향으로 parameter를 업데이트 할 수 있음 (Chain rule 이용) - Backpropagation 수행: output 쪽 layer에서 계산한 결과가 인접한 input 쪽 layer의 parameter에 대해 GD를 수행하는 데에 이용됨