[Farm] 3주차 _ 딥러닝 시작하기

타마타마·4일 전
0

FramSystem

목록 보기
1/1

인공신경망이란 ?

  1. 가장 기본적인 인공 신경망은 확률적 경사 하강법을 사용하는 로지스틱 회귀와 같다.
  2. 이미지, 음성, 텍스트 분야에서 효과적인 성능

패션 MNIST

(train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data()

import matplotlib.pyplot as plt

fig, axs = plt.subplots(1, 10, figsize=(10,10)) 
for i in range(10):
    axs[i].imshow(train_input[i], cmap='gray_r')
    axs[i].axis('off')
plt.show()

unique 확인

	import numpy as np
    print(np.unique(train_target,return_counts=True))

딥러닝 라이브러리

  • 다른 머신러닝 라이브러리와 다르게 GPU사용하여 인공신경망 훈련한다.
  • (백터/행렬 연산에 최적화)

심층신경망 만들기

dense1 = keras.layers.Dense(100, activation='sigmid', input_shape=(784,))
dense2 = keras.layers.Dense(10, activation='softmax')
  • 뉴련 개수는 직접 판단해야하는 것이다.
  • 정보손실이 없도록 하기 위해 출력층의 유닛 개수보다 많은게 좋음

층을 여러개 추가하는 방법도 있음 = Dense() 클래스 > Sequential()에서 바로 하는 것

model = keras.Sequential([
	keras.layers.Dense(100, activation='sigmid', input_shape=(784,) , name='hidden'),
    keras.layers.Dense(10, activation='softmax', name='output)
    ], name='패션 MNIST model')

모델에 .add()로 원하는 만큼 추가 가능

model = keras.Sequential()
model.add(keras.layers.Dense(100, activation='sigmid', input_shape=(784,) , name='hidden'))
model.add(keras.layers.Dense(10, activation='softmax', name='output))
model.add(keras.layers.Dense(10, activation='softmax', name='output))

확인해볼 명령어

model.summary()

훈련하는 것은 동일

model.compile(loss='sparse_categorial_crossentropy', metrics='accuracy')
model.fit(tranin_scaled, train_target, epochs=5)

Flatten()을 사용하여 추가

model=keras.Sequential()
model.add(keras.layers.Flatten(input_shape=(238,28), name='flatten'))
model.add(keras.layers.Dense(100, activation='sigmid', input_shape=(784,) , name='hidden'))
model.add(keras.layers.Dense(10, activation='softmax', name='output))
  • .reshape() 필요가 없어진다.

ps. 앙상블 알고리즘 vs 심층신경망

  1. 앙상블 알고리즘
  • 여러개의 모델로 예측을 앙상블
  • 얘는 각각의 모델들이 독립적으로 훈련됨
  • 정형 데이터에 적합(DB, 엑셀 등)
  1. 심층 신경망
  • 은닉층만 보면, 여러층의 뉴런을 쌓아 최종 출력값을 계산
  • 뉴런들이 동시에 훈련됨
  • 더 길게 층을 쌓아서 단계적 학습기능
  • 비정형 데이터에 적합(이미지, 텍스트 등)

0개의 댓글