관리 메뉴

jisoleil's coding good thing

AI 언어지능 딥러닝 1일차 본문

AIVLE/9주차

AI 언어지능 딥러닝 1일차

jisoleil 2023. 3. 28. 01:34

NLP(자연어 처리, natural language processing )

:자연어(natural language)란 우리가 일상 생활에서 사용하는 언어, 자연어 처리(natural language processing)란 이러한 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 말합니다. 

음성 인식, 내용 요약, 번역, 사용자의 감성 분석, 텍스트 분류 작업(스팸 메일 분류, 뉴스 기사 카테고리 분류), 질의 응답 시스템, 챗봇과 같은 곳에서 사용되는 분야이다.

 

  • RNN(순환 신경망: Recurrent Neural Network): 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델입니다.  RNN은 가장 기본적인 인공 신경망 시퀀스 모델이다. 

 

  • 메모리 셀(RNN 셀):  RNN에서 은닉층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드를 셀(cell)이라고 함. 이 셀은 이전의 값을 기억하려고 하는 일종의 메모리 역할을 수행하며 메모리 셀이라고도 합니다. 

은닉층의 메모리 셀은 각각의 시점(time step)에서 바로 이전 시점(t-1)에서의 은닉층의 메모리 셀엣 나온 값을 자신의 입력으로 사용하는 재귀적 활동을 하고 있다. 

 

  • 은닉 상태(hidden state): 메모리 셀이 출력층 방향 또는 다음 시점인 t+1의 자신에게 보내는 값이며, t 시점의 메모리 셀은 t-1 시점의 메모리 셀이 보낸 은닉 상태값을 t 시점의 은닉 상태 계산을 위한 입력값으로 사용

핵심1:

과거의 (정돈된) 정보와, 현재의 (raw) 정보를, 동시에 고려하여, 모델의 목적에 맞는 representation을 새로운 특징을 제작해 낸다. 

핵심2:

위 1번을, '일관된 규칙으로 반복' 할 수 있다. 

시점이 달라져도, 정보를 추출하는 규칙은 동일-> 시점이 달라도, 중요하게 판단해야 할 정보만 추출해냄

  • RNN에 대한 수식

Ht=tanh(Wxh* Xt(입력값) +Whh *Ht-1(과거의 state)+b(편향값))

 

  • 파이썬 keras로 rnn 구현하기
# 1.세션클리어
keras.backend.clear_session()

# 2.Sequential 모델 선언하기
model = keras.models.Sequential()

# 3. 레이어 쌓기 SimpleRNN의 default activation은 'tanh' 입니다.
# input_shape = [timestep, feature수]
# simplernn의 히든스테이트 노드는 16개
# return_sequences=False, 마지막 시점의 값만 다음 레이어로 
model.add(tf.keras.layers.Input(shape=(21,1)))
model.add(keras.layers.SimpleRNN( 16, activation='tanh' ,return_sequences=False) )
model.add(keras.layers.Dense(1)  )

# compile
model.compile( loss='mae',optimizer='adam'     )#'mse' 대비, '급격한 학습을 막는데' 종종 사용이 됨.
model.summary()
# 학습
history = model.fit( x_train , y_train  , epochs = 30 , validation_data=(x_val, y_val))

 *데이터 전처리가 상당히 복잡함*

x와 y는 '시점을 분리' 해두어야 '예측' 이라는게 된다. 

ex) 오늘까지 데이터로--> 내일 예측.

 

 

오늘은 요즘 챗gpt때문에 굉장히 핫한 딥러닝인 rnn을 배웠다..

난 언제쯤 챗gpt 만들어 볼 수 있을 까?

꿈은 항상 크게 가지라고 했으니깐ㅎㅎ

 

재밌으면 장땡이다.

'AIVLE > 9주차' 카테고리의 다른 글

AI 언어지능 딥러닝 3일차  (1) 2023.03.30
AI 언어지능 딥러닝 2일차  (0) 2023.03.29
Comments