본문 바로가기
코딩/데이터 분석 이론 & 응용

[9] Deep Learning - Keras Functional API

반응형

[9] Deep Learning - Keras Functional API

 

 

 

지난 글에서는 Keras의 sequential API를 통해 이미지 분류 문제를 살펴보았다.

 

 

 

[8] Deep Learning - Perceptron (tistory.com)

 

[8] Deep Learning - Perceptron

[8] Deep Learning - Perceptron Perceptron Perceptron은 가장 간단한 인공 신경망의 일종으로 TLU를 기반으로 구성된다. TLU는 위의 그림과 같이 입력에 대해 가중치를 적용한 후 , 이를 모두 더해 계단 함..

ddggblog.tistory.com

 

 

이번에는 순차적이지 않은 구조를 만들기 위해 Keras의 Functional API를 살펴본다. 순차적이지 않은 네트워크 구조의 예시들은 다음과 같다.

 

 

Wide and Deep Network

 

 

Wide and Deep Network

 

 

 

Wide and Deep Network 구조는 위의 그림과 같이 입력의 일부 혹은 전체가 출력층에 바로 연결되는 구조다. 이 Wide and Deep Network 구조는 Deep 한 경로와 Wide 한 경로가 동시에 존재하기 때문에 복잡한 패턴과 간단한 패턴 모두 학습할 수 있다는 장점을 가지고 있다. Deep 한 경로의 연속된 변환이 데이터의 패턴을 없애고 왜곡시키는 문제를 Wide 한 경로를 통해 해결할 수 있다.

 

 

 

다중 입력 , 다중 출력 구조

 

 

 

다중 입력 구조

 

 

만약 Input feature에 대해 다른 경로를 적용하고 싶다면 위의 다중 입력 구조를 사용할 수 있다. 각각의 feature들은 각기 다른 경로를 거치며 concat layer에 전달 될 것이다.

 

 

 

다중 출력 구조

 

 

 

다중 출력이 필요한 경우는 다음과 같다.

 

  • 여러개의 출력이 필요한 작업인 경우
  • 동일한 데이터 셋을 가지고 독립적인 작업을 실행하는 경우
  • 규제 기법 ( Overfitting을 감소시키도록 Training에 제약 )으로 사용하는 경우

 

위의 각 경우에 대한 설명은 아래 코드 부분에 더 자세히 나와있다.

 

 

 

 

관련 코드

 

 

ref. "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition"

 

 

 

반응형