티스토리 뷰

 

Neural Network Training - TensorFlow implementation

 

신경망 훈련에 대해 알아보자.

 

입력값 X, 첫 번째 은닉 계층은 25단위, 두 번째 은닉 계층은 15단위, 그 다음은 출력 단위 1개이다.  

X, Y로 구성된 훈련 예제 집합이 주어진다면, 이 신경망의 파라미터를 어떻게 훈련시킬 수 있을까? 

 

TensorFlow에서 신경망을 훈련시키는 방법이자 코드이다.

 

1단계는 TensorFlow에 추론 계산 방법을 알려주는 모델을 지정하는 것이다. 
2단계는 특정 손실 함수를 사용하여 모델을 컴파일하고,

3단계는 모델을 학습시키는 것이다. (2단계에서 지정한 비용 함수의 손실을 사용하여 1단계에서 지정한 모델을 dataset에 맞추도록 TensorFlow에 지시)

 

** epochs?

경사 하강법을 실행할 단계 수 또는 경사 하강법을 실행할 시간을 결정하는 기술 용어


Neural Network Training - Training Details

1단계는 입력값 X와 매개변수가 주어졌을 때 출력값을 계산하는 방법 지정하기, 

2단계에서는 손실과 비용을 지정하고, 

3단계에서는 경사하강법을 통해 학습한 비용 함수를 최소화한다. 

 

 

TensorFlow에서 신경망을 훈련시키는 방법은 세 단계로 동일하다. 더 자세히 살펴보겠다. 

 

첫 번째 단계에서는 입력값 x와 파라미터 w와 b가 주어지면 출력값을 계산하는 방법을 지정한다. 즉, 신경망의 전체 아키텍처를 지정한다.

 

두 번째 단계에서는 손실 함수가 무엇인지 지정해야 합니다. 이를 통해 신경망을 훈련하는 데 사용하는 비용 함수도 정의됩니다. (로지스틱 손실을 tensorflow에서는 binarycross entropy라고 함)

 

TensorFlow에 이 손실 함수를 사용하여 신경망을 컴파일하도록 요청하는 것이다. 

분류 문제가 아닌 회귀 문제를 해결하려는 경우, TensorFlow에 다른 손실 함수를 사용하여 모델을 컴파일하도록 지시할 수도 있습니다. (MeanSquareError 등)

 

마지막 단계는 TensorFlow에 cost 함수를 최소화하도록 경사하강법을 하는 것이다.  TensorFlow는 fit이라는 함수로 역전파를 모두 구현한다. 


Practice quiz - Train a Neural Network in TensorFlow

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함