DeepLearning / / 2022. 10. 27. 14:35

DeepLearning -레이어 , 활성화 함수

 

 

우리는 흔히 머신러닝이라고 하면 위와 같은 그림을 자주 볼 수 있을 것이다. 어떻게 학습을 하고 이를 반영할 지에 대한 설계가 이루어져야 하는데 그것이 레이어 층을 쌓는 것이며, 그 중 하나의 기본 레이어는 Dense layer 이다.

 

 

Dense Layer?

Dense Layer의 각 뉴런이 이전 계층의 모든 뉴런으로부터 입력을 받게 된다. (거의 맨 마지막 레이어)

Dense Layer는 추출된 정보들을 하나의 레이어로 모으고, 우리가 원하는 차원으로 축소시켜서 표현하기 위한 레이어 이다. 보통 맨 마지막 레이어로 분류기의 경우 softmax를 사용하는데, softmax의 인풋으로 들어가는 inputlayer로 자주 사용e된다.

 

첫번째 인자 8은 출력 뉴런의 수를 말하고, input_dim은 입력 뉴런 수를 의미 한다.

Dense 레이어는 입력과 출력을 모두 연결해주며, 입력과 출력을 각각 연결해주는 가중치를 포함하고 있다

 

즉, 8 * 2 가중치는 16이다 .

 

Dense 레이어는 머신러닝에 기본적인 층으로 영상이나 서로 연속적으로 상관관계가 있는 데이터가 아니라면 이 층을 통해 학습 시킬 수 있는 데이터가 많다.

model = keras.Sequential()
md2.add(Dense(8,input_dim=2,activation='relu'))
 
 
relu
은닉 층으로 학습
sigmond
이진 분류 문제
softmax
클래스 분류 문제

activaiton 에서는 무엇을 사용할 지 고민을 많이 할 수 있는데, 'relu' 는 은닉층으로 역전파를 통해 좋은 성능이 나오기 때문에 마지막 층이 아니고서야 거의 relu 를 이용한다.

마지막 층에서는 'sigmond' 와 'softmax' 를 사용함으로서 sigmond 는 'yes or no' 와 같은 이진 분류, softmax 는 확률 값을 내뱉어내 다양한 것을 분류하기 위함이다.

즉, 당도, 나트륨, 구성 요소 등을 보고 콜라, 사이다, 환타를 구별해내려면 'softmax', 공기 구성 요소를 보고 '미세먼지 경보냐? 아니냐?'는 sigmond 를 이용하게 된다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유