이번 포스팅에서는 "신경망"에 대해서 다뤄보도록 하겠다.
앞 장에서 공부한 퍼셉트론은 매개변수(가중치와 편향) 조정을 사람이 수동으로 해주어야 한다는 단점이 있다.
이러한 단점을 해결해 줄 수 있는 것이 바로 신경망이다.
신경망은 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력이 있다!!
신경망을 그림으로 나타내면 다음과 같으며 크게 입력층, 은닉층, 출력층 이렇게 3개로 구분된다.
여기서 "활성화 함수"라는 개념이 등장한다.
활성화 함수란 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할을 수행한다.
(** 앞서 2장에서 본 퍼셉트론은 활성화 함수로 "계단 함수"를 사용한다)
- 신경망에서 자주 이용되는 활성화 함수 (모두 비선형)
- 시그모이드 함수
- ReLU 함수
- 일반적으로 이용되는 출력층의 활성화 함수
- 회귀 문제
- 항등 함수
- 이진 분류 문제
- 시그모이드 함수
- 다중 분류 문제
- 소프트맥스 함수
- 단, 오버플로 문제를 막기 위해 계산 시에 입력 신호 중 최댓값을 빼줘야 함
- 회귀 문제
** 선형 함수를 활용화 함수로 사용하면 신경망의 층을 깊게 하는 의미가 없어진다.
<참고>
- 기계학습은 크게 "학습"과 "추론"의 두 단계를 거쳐서 이루어짐
- 학습 데이터를 사용하여 가중치 매개변수를 학습함
- 추론 단계에서는 앞서 학습한 매개변수를 사용하여 입력 데이터를 분류함
- 추론 단계에서는 출력층의 소프트맥스 함수를 생략하는 것이 일반적
- 그러나 신경망을 학습시킬 때는 출력층에서 소프트맥스 함수를 사용함
- 배치(Batch)
- 입력 데이터를 묶은 것을 의미함 (즉, 하나로 묶은 데이터)
- ex) 이미지 데이터의 경우, 이미지가 지폐처럼 다발로 묶여있다고 생각하면 됨
- 배치 처리를 수행함으로써 큰 배열로 이루어진 계산을 하게 되는데, 컴퓨터에서는 큰 배열을 한꺼번에 계산하는 것이 분할된 작은 배열을 여러 번 계산하는 것보다 빠름 (즉, 배치 처리를 하면 속도 측면에서 효율적)
- 입력 데이터를 묶은 것을 의미함 (즉, 하나로 묶은 데이터)
★ 참고 자료
- 밑바닥부터 시작하는 딥러닝 교재
'Data Science > Deep Learning' 카테고리의 다른 글
[밑바닥부터 시작하는 딥러닝 1] Ch 6. 학습 관련 기술들 (0) | 2021.01.31 |
---|---|
[밑바닥부터 시작하는 딥러닝 1] Ch 5. 오차역전파법 (0) | 2021.01.30 |
[밑바닥부터 시작하는 딥러닝 1] Ch 4. 신경망 학습 (0) | 2021.01.29 |
[밑바닥부터 시작하는 딥러닝 1] Ch 2. 퍼셉트론 (0) | 2021.01.27 |
[밑바닥부터 시작하는 딥러닝 1] Ch 1. 헬로 파이썬 (0) | 2021.01.27 |