Generative Adversarial Network(GAN, 적대적 생성 신경망)
Part 1. 퍼셉트론, 다층 퍼셉트론, 오차 역전파
Part 2. 합성곱 신경망, 순환 신경망
Part 3. 이미지 데이터 관련 알고리즘, 음성 데이터 관련 알고리즘, 텍스트 데이터 관련 알고리즘, 생상적 적대 신경망, 심층 강화학습
- 사용자들이 어떻게하면 코딩을 하기 더 쉬울까에 기반하여 만들어진 라이브러리
- 다양한 뉴럴 네트워크 모델을 지원, 블록 조립식이라 빠른 시간 내 코딩할 수 있는 장점
- 현재는 tensorflow 위에서 keras가 동작하도록 설계되어 있고, keras를 tensorflow 안에 포함시켜 표준 라이브러리로 지원
1. 신경망의 구조를 설계(병렬적 다층구조)
2. 신경망 학습/평가 방법 설정
3. 모델 학습 진행 및 결과 시각화
4. 모델 평가
여러 가지 형태와 의미로 컴퓨터와 대화하는 환경
텍스트와 이미지, 영상 등 서로 다른 양식의 데이터를 이해하고 변환하여 사람처럼 배우고 학습
modality : interaction 과정에서 사용되는 의사소통 채널
# Sequential : 뼈대
# Sequential 대신 다른 방향으로도 생성 가능
from tensorflow.keras import Sequential
from tensorflow.keras.layers import InputLayer, Dense # Dense : 밀집도
# 1. 신경망의 구조 설계(병렬적 다층 구조)
model = Sequential() # 뼈대 생성
model.add(InputLayer(input_shape=(1,))) # 입력 특성의 갯수 설정 : 1개의 데이터의 모양의 갯수?
model.add(Dense(units=3, activation='linear')) # units : 1층의 뉴런 갯수 설정
model.add(Dense(units=3, activation='linear')) # units : 2층의 뉴런 갯수 설정
model.add(Dense(units=1, activation='linear')) # units : 3층의 뉴런 갯수 설정
# 입력이 1개, 출력도 맨 마지막층 1개
# 입출력 개수가 같으면 학습은 가능
# 2. 신경망 학습/평가 방법 설정
model.compile(loss="mean_squared_error",
optimizer="SGD")
# 평가방법을 설정하지 않으면 기본적으로 mse로 세팅
``
```python
# 3. 모델 학습진행 및 결과 시각화
studentHistory = model.fit(X_train, y_train, epochs=100)
# epochs = 학습을 몇 번 할지
# 4. 모델 평가
model.evaluate(X_test, y_test)