우리는 흔히 머신러닝이라고 하면 위와 같은 그림을 자주 볼 수 있을 것이다. 어떻게 학습을 하고 이를 반영할 지에 대한 설계가 이루어져야 하는데 그것이 레이어 층을 쌓는 것이며, 그 중 하나의 기본 레이어는 Dense layer 이다.
Dense Layer?
Dense Layer의 각 뉴런이 이전 계층의 모든 뉴런으로부터 입력을 받게 된다. (거의 맨 마지막 레이어)
Dense Layer는 추출된 정보들을 하나의 레이어로 모으고, 우리가 원하는 차원으로 축소시켜서 표현하기 위한 레이어 이다. 보통 맨 마지막 레이어로 분류기의 경우 softmax를 사용하는데, softmax의 인풋으로 들어가는 inputlayer로 자주 사용e된다.
첫번째 인자 8은 출력 뉴런의 수를 말하고, input_dim은 입력 뉴런 수를 의미 한다.
Dense 레이어는 입력과 출력을 모두 연결해주며, 입력과 출력을 각각 연결해주는 가중치를 포함하고 있다
즉, 8 * 2 가중치는 16이다 .
Dense 레이어는 머신러닝에 기본적인 층으로 영상이나 서로 연속적으로 상관관계가 있는 데이터가 아니라면 이 층을 통해 학습 시킬 수 있는 데이터가 많다.
relu
|
은닉 층으로 학습
|
sigmond
|
이진 분류 문제
|
softmax
|
클래스 분류 문제
|
activaiton 에서는 무엇을 사용할 지 고민을 많이 할 수 있는데, 'relu' 는 은닉층으로 역전파를 통해 좋은 성능이 나오기 때문에 마지막 층이 아니고서야 거의 relu 를 이용한다.
마지막 층에서는 'sigmond' 와 'softmax' 를 사용함으로서 sigmond 는 'yes or no' 와 같은 이진 분류, softmax 는 확률 값을 내뱉어내 다양한 것을 분류하기 위함이다.
즉, 당도, 나트륨, 구성 요소 등을 보고 콜라, 사이다, 환타를 구별해내려면 'softmax', 공기 구성 요소를 보고 '미세먼지 경보냐? 아니냐?'는 sigmond 를 이용하게 된다.
'DeepLearning' 카테고리의 다른 글
DeepLearning - XOR문제 Greedy Layer-wise 트레이닝으로 풀기 (1) | 2022.10.28 |
---|---|
DeepLearning - GREEDY LAYER-WISE Training (1) | 2022.10.28 |
DeepLearning - 타이타닉 생존자 예측 (0) | 2022.10.26 |
DeepLearning - 입문 (손실함수,배치,옵티마이저) (0) | 2022.10.26 |
DeepLearning - 신경망 코드 이해 (0) | 2022.10.26 |