2021 NIPA AI 온라인 실무 응용 교육과정
딥러닝 시작하기 과정 용어, 플로우 정리
딥러닝이란?
머신러닝의 여러 방법론 중 하나.
인공신경망에 기반하여 컴퓨터에게 사람의 사고방식을 가르치는 방법
인공신경망이란?
생물학의 신경망에서 영감을 얻은 학습 알고리즘 사람의 신경 시스템을 모방함
<참고>
딥러닝의 역사
퍼셉트론
퍼셉트론은 각각의 노드에서 가중치와 입력치를 모두 더한 값이 활성함수에 의해 판단하는 방법으로 동작한다. 만약 값이 임계값을 넘어가면 결과값이 1이 출력된다.(뉴런의 활성화)
<활성화 함수>
활성화 함수(Activation function)는 입력된 DATA의 가중치의 합계를 OUTPUT 신호로 바꿔주는 함수. 활성화 여부는 이전 레이어에 대한 가중합의 크기에 따라 결정됨.
<딥러닝 모델 구성요소>
<딥러닝 모델의 학습 순서>
1. 학습용 feature 데이터를 입력하여 예측값 구하기 (순전파)
2. 예측값과 실제값 사이의 오차 구하기 (Loss 계산)
3. Loss를 줄일 수 있는 가중치 업데이트 하기 (역전파)
4. 1~3번 반복으로 Loss를 최소로 하는 가중치 얻기
<딥러닝 모델 구현 순서>
텐서플로우로 딥러닝 구현하기
1. 데이터 전 처리하기
2. 딥러닝 모델 구축하기
3. 모델 학습시키기
4. 평가 및 예측하기
코드1)
#pandas를 사용하여 데이터 불러오기
df = pd.read_csv(‘data.csv’)
feature = df.drop(columns=[‘label’])
label = df[‘label’]
#tensor 형태로 데이터 변환
dataset = tf.data.Dataset.from_tensor_slices((feature.values, label.values)
코드2)
model = tf.keras.models.Sequential
([
tf.keras.layers.Dense(10, input_dim=2, activation=‘sigmoid’),
#2개의 입력 변수, 10개의 노드
tf.keras.layers.Dense(10, activation=‘sigmoid’), # 10개의 노드
tf.keras.layers.Dense(1, activation='sigmoid’), # 1개의 노드
])
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(10, input_dim=2, activation=‘sigmoid’))
model.add(tf.keras.layers.Dense(10, activation=‘sigmoid’))
model.add(tf.keras.layers.Dense(1, activation='sigmoid’))