화이트 모드로 보시길 권장합니다
[AI Friends School] 시리즈는 MicroShcool에서 진행하는 온라인 인공지능 학습 학교이다.
AI Friends School 강의 내용을 말하기 전, AI Friends School에선 어떠한 것을 배우는지 알아보자
AI Friends School이란?
AI Friends School은 인공지능 기술을 적용해 세상의 문제를 해결할 수 있는 시티즌 디벨로퍼로 성장하는 것을 목표로 한다.
-AI Friends School 온라인 과정 ( 36차시, 3개월 )-1. 인공지능 들어가기(1차시 ~ 10차시) 2. 인공지능·영상처리 이론(11차시 ~ 15차시) 3. 인공지능·영상처리 실습(16차시 ~ 23차시) 4. 인공지능·음성 / 자연어 처리 이론(24차시 ~ 28차시) 5. 인공지능·음성 / 자연어 처리 실습(29차시 ~ 36차시)
순차데이터
순차데이터( Squence data )
순서를 가진 데이터, 시간과 순서의 의미가 매우 중요한 데이터를 의미한다.
연결성, 흐름을 갖는 데이터이다.
순차데이터는 순서가 바뀌면 고유의 특성을 잃게 된다.
( ex. 언어, 주가 변동, 지진파, DNA 염기서열 등 )
순환 신경망
순환 신경망( RNN; Recurrent Neural Network )
재귀(순환하여 반복해 되돌아간다)한다는 의미를 가지고 있다.
은닉층 셀 출력이 은닉층 다음 셀의 입력으로 사용돼, 순환하는 의미를 갖는다.
은닉층 내부 셀의 가중치가 순환되는 것을 의미한다.
순차 데이터를 처리하는 모델로 시간의 개념이 가장 중요하다.
시간 개념 도입을 위해 현재 시점을 t (time)으로 나타낸다.
과거 정보를 현재 정보에 반영하기 위해 t-1셀이 출력한 은닉 상태 값인 t시점의 계산을 위한 입력으로 사용한다.
셀( Cell ) :
노드의 결과를 출력층과 다음 연산으로 내보내는 노드 단위이다.
다음 정보를 위해 이전 값을 기억하려 하는 메모리 역할을 수행하기에 메모리셀 혹 RNN이라 표현한다.
RNN 기본 구조
RNN의 기본 구조, 입력값, 은닉층, 출력값
위 그림에서 입력값을 x, 은닉층을 h, 출력값을 y로 표현하며 RNN을 표현하기 위해 화살표로 사이클을 표현하기도 하며,
아래 그림과 같이 여러 시점으로 펼쳐 표현하기도 한다.
RNN의 셀에는 현재 정보 입력값(현재 시점의 시퀀스), 과거 정보인 이전 시점 셀에서 계산된 출력값, 총 2개가 입력된다.
현재 정보 입력값(현재 시점의 시퀀스), 과거 정보인 이전 시점 셀에서 계산된 출력값을 이용해 현재 시점의 셀 출력값이 나오며, 이는 다시 출력층, 다음 셀 입력값으로 사용된다.
RNN 구조 식 :
인공지능의 기본 식 H(x) = wx + b 수식에 순차데이터 처리를 위해 시간 정보를 반영한다.
는 현재 상태
는 직전 상태를 의미한다.
현재 상태의 출력을 계산하는 수식은 아래와 같다.
는 입력 Xt를 출력 h로 변환하기 위한 가중치이다.
RNN은 과거 정보를 반영하기 위해 재귀적으로 뉴런의 출력이 순환되기에
에 이전 노드의 가중치가 한 번 더 반영되어야 한다.
첫 번째 가중치 W_{hh}는 직전 셀의 출력을 다음 상태에 반영하기 위한 가중치이다.
두 번째 가중치 W_{xh}는 현재 입력 x_{t}를 출력 h_{t}로 변환하기 위한 가중치이다.
위 두 가중치의 값을 활성화 함수에 넣어 과거 정보를 현재 정보에 반영하게 된다. 식은 아래와 같다.
RNN의 종류
데이터의 길이에 무관하게, 입력과 출력을 받아들일 수 있기에 입력과 출력의 개수에 따라 모델의 종류가 나뉜다.
일 대 일( one-to-one ) 모델 :
하나의 이미지 입력에 대해 사진의 제목을 출력하는 이미지 캡셔닝이 있다.
사진의 제목은 단어들의 나열로 시퀀스(순차) 출력이라 한다.
일 대 다( one-to-many ) 모델 :
단어 시퀀스에 대해 하나의 출력을 하는 모델들이 있다.
입력 문서가 긍정적인지, 부정적인지를 판별하는 감정 분류가 이에 해당한다.
다 대 다( many-to-many ) 모델 :
입력된 문장에 대한 대답 문장을 출력하는 챗봇, 번역 문장을 출력하는 번역기 등이 속한다.
RNN의 한계
단점 :
RNN에서 순환이 반복될 경우 마지막 층에서는 첫 번째 층의 가충치가 희미하게 반영될 것이다.
RNN은 시퀀스 데이터의 과거 정보를 반영하고자 만들어졌는데, 길이가 길어질수록 맨 처음 정보를 반영하기 어렵다.
LSTM( Long-Short Term Memory ) :
단점을 해결하기 위해 세부적으로 메모리 간격을 조정하여 반영되는 과거 정보의 양을 조절하는 방법이다.
이 기술로 RNN의 한계를 극복할 수 있게 되었다.
CNN과 RNN 공통점, 차이점
공통점
딥러닝에 근본적으로 활용되는 구조이다.
둘 다 인공 신경망이다.
둘 다 입력된 데이터를 학습해서 출력을 예측하는 데 사용된다.
둘 다 딥러닝에 속한다.
차이점
CNN은 음성과 같이 복잡한 구조의 데이터를 학습시키기 전, 연산량을 효과적으로 하기 위한 방법이다.
RNN은 순차데이터의 과거 정보를 다음 정보에 반영하기 위한 순차 모델이다.
다음 차시에는 인공지능 개발 단계&환경에 대해 배운다.
'AI Friends School' 카테고리의 다른 글
[AI Friends School 11차시] 인공지능 개발 단계와 환경 (0) | 2023.01.31 |
---|---|
[AI Friends School 9차시] CNN이란? ( 평균값 필터, 가우시안 필터 ) (1) | 2023.01.26 |
[AI Friends School 8차시] 이미지 데이터의 이해 (1) | 2023.01.19 |