본문 바로가기

AI/머신러닝&딥러닝

진짜 나를 위한 딥러닝 #순차 데이터 #순환 신경망

순차 데이터(sequential data)

- 텍스트나 시계열 데이터(time series data)와 같이 순서에 의미가 있는 데이터

- 예) 글, 대화, 일자별 날씨, 일자별 판매 실적

 

* 완전 연결 신경망이나 합성곱 신경망처럼 입력 데이터의 흐름이 앞으로만 전달되는 신경망은 피드포워드 신경망(feedforward neural network, FFNN)이라 부름

 

 

 

순환 신경망(recurrent neural network, RNN)

- 인공 신경망의 한 종류로, 순차 데이터를 처리하기 위해 고안된 순환층을 1개 이상 사용한 신경망

- 이전 샘플에 대한 정보를 가지고 있고, 이 샘플을 처리하는 한 단계를 타임스탭(timestep)이라 부름

- 타임스탭은 층을 거칠수록 순환되는 정보가 희미해짐

- 순환 신경망에선 층을 셀(cell)이라 부름

- 순환 신경망에선 셀의 출력을 은닉상태(hidden state)라고 부름

- 은닉층의 활성화함수는 일반적으로 하이퍼볼릭 탄젠트(hyperbolic tangent)함수 tanh가 많이 사용됨

 

 

말뭉치(corpus)

- 자연어 처리에서 사용하는 텍스트 데이터의 모음, 훈련 데이터셋

 

 

토큰(token)

- 텍스트에서 공백으로 구분되는 문자열

- 일반적인 영어 문장은 모두 소문자로 바꾸고 구둣점을 삭제한 다음 공백을 기준으로 분리

- 한국어는 형태소 분석이 필요함

- 하나의 토큰이 하나의 타임스탭에 해당한다고 볼 수 있음

 

 

원-핫 인코딩(one-hot encoding)

- 어떤 클래스에 해당하는 원소만 1이고 나머지는 모두 0인 벡터

- 정수로 변환된 토큰을 원-핫 인코딩으로 변환하려면 어휘 사전 크기의 벡터가 만들어짐

- 훈련 데이터가 커질수록 입력 데이터가 엄청 커짐

 

 

단어 임베딩(word embedding)

- 정수로 변환된 토큰을 비교적 작은 크기의 실수 밀집 벡터로 변환

- 메모리를 효율적으로 사용하고 단어 사이의 관계를 표현할 수 있기 때문에 자연어 처리에서 좋은 성능 발휘

 

 


핵심 패키지와 함수

 

TensorFlow

pad_sequences() 

- 시퀀스 길이를 맞추기 위해 패딩을 추가

- (샘플 개수, 타임스탭 개수) 크기의 2차원 배열

- maxlen 매개변수로 원하는 시퀀스 길이를 조정, 이 값보다 긴 시퀀스는 잘리고 짧은 시퀀스는 패딩

- padding 매개변수는 패딩을 추가할 위치 지정 기본값 'pre'는 시퀀스 앞을 패딩, 'post'는 시퀀스 뒤를 패딩

- truncating 매개변수는 긴 시퀀스에서 잘라버릴 위치를 지정 기본값 'pre'는 앞을 잘라내고 'post'는 뒤를 잘라냄

 

to_categorical()

- 정수 시퀀스를 원-핫 인코딩으로 변환

- 토큰을 원-핫 인코딩 하거나 타깃값을 원-핫 인코딩할 때 사용

- num_classes 매개변수에서 클래스 개수를 지정할 수 있음. 지정하지 않으면 자동

 

SimpleRNN

- 케라스의 기본 순환층 클래스

- 첫 번째 매개변수에 뉴런의 개수 지정

- activation 매개변수에서 활성화 함수 지정. 기본값 하이퍼볼릭 탄젠트 'tanh'

- dropout 매개변수에서 입력에 대한 드롭아웃 비율 지정

- return_sequences 매개변수에서 모든 타임스탭의 은닉상태를 출력할지 결정. 기본 값 False

 

Embedding

- 단어 임베딩을 위한 클래스

- 첫 번째 매개밴수에서 어휘 사전의 크기 지정

- 두 번째 매개변수에서 Embedding 층이 출력할 밀집 벡터의 크기 지정

- input_length 매개변수에서 입력 시퀀스의 길이 지정. Embedding층 바로 뒤에 Flatten이나 Dense클래스가 올 때 필수

 


참고

http://www.yes24.com/Product/Goods/96024871

 

혼자 공부하는 머신러닝+딥러닝 - YES24

- 혼자 해도 충분하다! 1:1 과외하듯 배우는 인공지능 자습서 이 책은 수식과 이론으로 중무장한 머신러닝, 딥러닝 책에 지친 ‘독학하는 입문자’가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있

www.yes24.com

 

반응형