본문 바로가기
인공지능

인공지능 개념 파악하기 - 2/2

by Falto 2021. 8. 7.

먼저 데이타 set를 준비해야 함. 데이타가 없으면 인공지능은 아무 쓸모가 없음.

위 그림과 같은 손글씨가 있다고 가정. 
(실제 인공지능 연습할 때 사용하는 손글씨 갯수는 6만개임)

그리고, 인공지능 모델을 만듬.

요런 식으로 만듬.

그 다음엔 그냥 기계적으로 하면 됨.
1. 학습시킬 데이타 크기를 정함. 예를 들어 D
2. 학습할 횟수를 정함. S

3. 인공지능 연습용 손글씨에서 무작위로 글자 하나를 뽑음.
4. 그걸 입력에 넣음. 그리고 출력을 빼냄. 
5. 출력값과 실제 정답을 비교해서 '손실함수'를 계산함.
6. 이 손실함수에 대하여 가중치 및 바이어스를 독립변수로 해서 기울기 구함.
7. 기울기를 구했으면 새로운 가중치와 바이어스를 구함.
8. 이 새로운 값을 사용해서 3번부터 다시 7번까지 함.
9. 이 과정을 S번 함.

끝.

실제론, 시간을 좀 더 절약하기 위해서 다음과 같이 함.
인공지능 모델이 아래와 같이 여러개 겹쳐 놓음.

각 인공지능의 손실함수를 더해서 총손실함수 Loss로 만든다는 게 틀림.
이렇게 계산하는 것을 batch 처리라고 함.

다시 과정을 분해해 보면,

1. 학습시킬 데이타 크기를 정함. 예를 들어 D

2. 학습할 횟수를 정함 S
2. 한번에 계산할 양, 즉 배치 크기를 정함. 예를 들어 N이라고 하자. 

3. N개의 손글씨를 랜덤으로 고름

4. 그걸 입력에 넣음. 그리고 출력을 빼냄. 
5. 출력값과 실제 정답을 비교해서 '손실함수'를 계산함.
6. 이 손실함수에 대하여 가중치 및 바이어스를 독립변수로 해서 기울기 구함.
7. 기울기를 구했으면 새로운 가중치와 바이어스를 구함.
8. 이 새로운 값을 사용해서 3번부터 다시 7번까지 함.
9. 이 과정을 S번 함.

흔히 epoc이란 말을 하는데, epoc은 훈련데이타를 한번 다 도는 데 걸리는 횟수임.
예를 들어 훈련 데이타 크기가 100이고 배치가 2이라면 epoc은 50임.

배치데이타는 랜덤으로 뽑는데, 만약 배치 크기가 3이라면 아래그림처럼 함.

첫번째 뽑은 배치 데이타는 (빨강색) : 2,4,7
두번째 뽑은 배치 데이타는 (초록색): 1,6,9
세번째 뽑은 배치 데이타는 (파랑색): 1,2,7
.....


'인공지능' 카테고리의 다른 글

7.5 CNN 구현하기  (0) 2021.08.13
7.4.4 풀링 계층 구현하기  (0) 2021.08.12
인공지능 개념 파악하기-1/2  (0) 2021.08.06
7.4.3 합성곱 계층 구현하기  (0) 2021.08.04
7.4.2 im2col로 데이터 전개하기  (0) 2021.08.04

댓글