개발학습일지

[AI] 딥러닝 분류의 문제 ANN TensorFlow 모델링 본문

AI/Deep Learning

[AI] 딥러닝 분류의 문제 ANN TensorFlow 모델링

처카푸 2024. 4. 17. 13:37

딥러닝 분류의 문제인 ANN 텐서플로우 모델링

ANN Layers

필요한 라이브러리 임폴트

import tensorflow as tf
from tensorflow import keras
from keras.models import Sequential
from keras.layers import Dense

 

학습시킨 비어있는 인공 지능 model을 Sequential()로 만들어,

add 함수로 히든 레이어를 추가하고 아웃풋 레이어도 추가한다

- 동그란모양의 노드를 이어주는 선을 웨이트나 파라미터라고 한다

 activation= (함수) 에 sigmoid와 tanh는 기울기 소실때문에 히든레이어에 잘 사용하지 않는다

# 레이어를 담을 수 있는 비어있는 틀을 만든다
model = Sequential()

# 비어있는 틀에 히든레이어를 추가한다
# 노드 갯수 입력. 원하는 수로 셋팅
# 액티베이션 함수 입력(일관셋팅). 일반적으로 relu 또는 leaky relu 가 사용된다
# 들어갈 데이터 갯수 입력(열갯수) 2차원으로 입력
model.add( Dense(units= 8, activation= 'relu', input_shape= (11,) ) )

# 두번째 히든레이어를 추가한다 activation= tf.nn.relu 라고 작성해도 똑같이 동작한다
model.add( Dense(units= 6, activation= 'relu') )

# 결과값이 0과 1사이 값으로 나오게한다(2개로 분류) 시그모이드함수 사용
model.add( Dense(units= 1, activation= 'sigmoid') )

# 지금까지한 작업을 요약해서 보기
model.summary()

 

- summary() 결과를 보면 

  ( 레이어의 수 + 상수항 1개) * 히든레이어의 수 = 파라미터(선) 의 수  가 나온다 

Ariticial Neuron 정의