반응형
[9] Deep Learning - Keras Functional API
지난 글에서는 Keras의 sequential API를 통해 이미지 분류 문제를 살펴보았다.
[8] Deep Learning - Perceptron (tistory.com)
이번에는 순차적이지 않은 구조를 만들기 위해 Keras의 Functional API를 살펴본다. 순차적이지 않은 네트워크 구조의 예시들은 다음과 같다.
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"
반응형
'코딩 > 데이터 분석 이론 & 응용' 카테고리의 다른 글
[11] Deep Learning - Initialization & Activation function (0) | 2022.01.18 |
---|---|
[10] Deep Learning - Hyper Parameter Tuning (0) | 2022.01.17 |
[8] Deep Learning - Perceptron (0) | 2022.01.12 |
[7] Deep Learning - CNN (0) | 2022.01.09 |
[6] Deep Learning - Neural Network (0) | 2022.01.09 |