[TensorFlow] Merge Layers 예제

Merge 레이어는 여러 입력을 결합하는 데 사용됩니다. 주로 두 개 이상의 입력을 결합하여 더 복잡한 모델을 구성할 때 활용됩니다. 아래는 ConcatenateAdd 레이어를 사용한 예제입니다.

  1. Concatenate Layer 예제:
import tensorflow as tf
from tensorflow.keras.layers import Input, Concatenate, Dense
from tensorflow.keras.models import Model

## 더미 데이터 생성
input1 = tf.random.normal(shape=(4, 10))
input2 = tf.random.normal(shape=(4, 10))

## 입력 레이어 정의
input_layer1 = Input(shape=(10,))
input_layer2 = Input(shape=(10,))

## Concatenate 레이어 정의
concat_layer = Concatenate()([input_layer1, input_layer2])

## 밀집 레이어 정의
output_layer = Dense(10, activation='softmax')(concat_layer)

## 모델 생성
model = Model(inputs=[input_layer1, input_layer2], outputs=output_layer)

## 모델 컴파일
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

## 모델 요약
model.summary()

## 모델 훈련
model.fit([input1, input2], [0, 1, 2, 3], epochs=5)` 
  1. Add Layer 예제:
import tensorflow as tf
from tensorflow.keras.layers import Input, Add, Dense
from tensorflow.keras.models import Model

## 더미 데이터 생성
input1 = tf.random.normal(shape=(4, 10))
input2 = tf.random.normal(shape=(4, 10))

## 입력 레이어 정의
input_layer1 = Input(shape=(10,))
input_layer2 = Input(shape=(10,))

## Add 레이어 정의
add_layer = Add()([input_layer1, input_layer2])

## 밀집 레이어 정의
output_layer = Dense(10, activation='softmax')(add_layer)

## 모델 생성
model = Model(inputs=[input_layer1, input_layer2], outputs=output_layer)

## 모델 컴파일
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

## 모델 요약
model.summary()

## 모델 훈련
model.fit([input1, input2], [0, 1, 2, 3], epochs=5)` 

위 두 예제에서는 각각 ConcatenateAdd 레이어를 사용하여 더미 입력 데이터를 결합하여 모델을 구성하고 훈련합니다. 이와 같은 Merge 레이어를 사용하여 여러 입력을 결합할 수 있습니다.