RNN은 과거의 일일 홍수, 조수, 기상 데이터를 기반으로 일일 홍수 수준을 예측하는 데 사용할 수도 있고 언어 번역, 자연어 처리(NLP), 음성 인식, 이미지 캡션과 같은 순서적 또는 시간적 문제 해결에도 사용할 수 있습니다. RNN는 Siri, 음성 검색, Google 번역 같은 인기 있는 응용 프로그램에 통합되어 있습니다.
이 모델 선택 프레임워크를 사용하여 성능 요구 사항과 비용, 위험 및 배포 요구 사항의 균형을 맞추면서 가장 적합한 모델을 선택할 수 있습니다.
순환 신경망은 피드포워드 및 콘볼루션 신경망(CNN)과 마찬가지로 학습 데이터를 활용하여 학습합니다. 이전 입력에서 정보를 가져와 현재의 입력과 출력에 영향을 줄 때의 '메모리'가 이 신경망들의 차이점입니다. 전통적인 심층 신경망은 입력과 출력이 서로 독립적으로 가정하지만, 순환 신경망의 출력은 시퀀스 내의 이전 요소에 따라 달라집니다. 미래의 이벤트도 주어진 시퀀스의 출력을 결정하는 데 도움이 되지만, 단방향 반복 신경망은 예측에서 이러한 이벤트를 설명할 수 없습니다.
어떤 일이 아주 쉽다는 의미의 '식은 죽 먹기'라는 관용구를 예로 들어 RNN을 설명해 보겠습니다. 관용구는 특정 순서에 따라 표현되어야 의미를 가집니다. 때문에 순환 긴경망은 관용어에서 각 단어의 위치를 고려하고, 이 정보를 사용해 다음 순서에 올 단어를 예측합니다.
순환 신경망의 또 다른 두드러진 특징은 네트워크의 각 계층에서 매개변수를 공유한다는 것입니다. 피드포워드 네트워크는 노드마다 가중치가 다르지만, 순환 신경망은 네트워크의 계층마다 가중치 매개변수가 동일합니다. 그러면서도 강화 학습을 용이하게 하기 위해 역전파 및 경사 하강법을 통해 가중치를 조정합니다.
순환 신경망은 BPTT(시간 전파를 통한 역전파) 알고리즘을 활용하여 그래디언트를 결정합니다. 이것은 전통적인 역전파와는 약간 다르며, 시퀀스 데이터에 특화되어 있습니다. BPTT의 원리는 모델이 출력 계층에서 입력 계층으로 오류를 계산하여 스스로 학습하는 기존의 역전파와 동일합니다. 이 계산을 하면 모델의 매개변수를 적절하게 조정하고 맞출 수 있습니다. BPTT는 각 시간 스텝에서 오차의 합을 구하는 반면, 피드포워드 신경망은 각 계층에서 파라미터를 공유하지 않기 때문에 오차의 합을 구할 필요가 없다는 점에서 기존 접근 방식과 다릅니다.
그런데 이 과정에서 RNN은 그래디언트 폭발과 그래디언트 소실이라는 두 가지 문제에 직면하곤 합니다. 이러한 문제는 기울기의 크기로 정의되며, 이는 오차 곡선을 따른 손실 함수의 기울기입니다. 그래디언트가 너무 작으면 가중치 매개변수가 중요하지 않게 될 때까지(즉, 0이 될 때까지) 업데이트하면서 계속 작아집니다. 이러한 상황이 발생하면 알고리즘은 더 이상 학습하지 않습니다. 그래디언트 폭발: 이 문제는 그라데이션이 너무 커서 불안정한 모델을 만들 때 발생합니다. 이 경우 모델 가중치가 너무 커져 결국 NaN으로 표현됩니다. 이러한 문제에 대한 한 가지 해결책은 신경망 내의 은닉 레이어 수를 줄여 RNN 모델의 복잡성을 제거하는 것입니다.
데이터 리더를 위한 가이드 읽기
피드포워드 신경망은 하나의 입력을 하나의 출력에 매핑하며, 위의 다이어그램에서 순환 신경망을 이런 방식으로 시각화했지만 실제로는 이러한 제약 조건이 없습니다. 그 대신 입력과 출력의 길이가 다를 수 있으며 음악 생성, 감정 분류, 기계 번역과 같은 다양한 사용 사례에 다양한 유형의 RNN이 사용됩니다.
신경망 관련 Learn 글에서 논의한 바와 같이, 활성화 함수는 뉴런이 활성화되어야 하는지 여부를 결정합니다. 비선형 함수는 일반적으로 주어진 뉴런의 출력값을 0과 1 또는 -1과 1 사이의 값으로 변환합니다.
인기 있는 RNN 아키텍처 변형은 다음과 같습니다.
단방향 RNN이 이전 입력에서만 데이터를 가져와 현재 상태를 예측할 수 있었다면, 양방향 RNN(BRNN)은 미래의 데이터를 가져와서 정확도를 높입니다. '식은 죽 먹기'의 예로 돌아가면, BRNN 기반 모델은 시퀀스의 마지막 단어가 '먹기'라는 것을 알고 있다면 해당 구문의 두 번째 단어가 '죽'이라고 예측할 확률이 높습니다.
LSTM은 Sepp Hochreiter와 Juergen Schmidhuber가 그래디언트 소실 문제에 대한 해결책으로 도입한 인기 있는 RNN 아키텍처입니다. 이들은 논문 (ibm.com 외부 링크)을 통해 장기 종속성 문제를 해결하고자 했습니다. 즉, 현재의 예측에 영향을 미치는 이전 상태가 최근의 과거가 아닌 경우, RNN 모델은 현재 상태를 정확하게 예측하지 못할 수 있습니다.
예를 들어 '앨리스는 견과류 알레르기가 있다. 그래서 땅콩 버터를 먹지 못한다.'라는 문장에서 '땅콩 버터'를 예측한다고 합시다. 견과류 알레르기라는 맥락은 먹을 수 없는 음식에 견과류가 포함되어 있다는 것을 예상하는 데 도움이 될 수 있습니다. 그러나 그 맥락이 몇 문장 전에 등장한다면 RNN이 정보를 연결할 수 없거나 제대로 연결하지 못할 수 있습니다.
이 문제를 해결하기 위해 LSTM은 신경망의 숨겨진 계층에 입력 게이트, 출력 게이트, 망각 게이트로 구성된 '셀'을 가지고 있습니다. 이 게이트는 네트워크의 출력을 예측하는 데 필요한 정보의 흐름을 제어합니다. 예를 들어 '그녀' 같은 성별 대명사가 이전 문장에서 여러 번 반복된 경우 셀 상태에서 이 단어를 제외할 수 있습니다.
GRU는 RNN 모델의 단기 메모리 문제를 해결하기 위해 작동한다는 점에서 LSTM과 유사합니다. 정보를 조절하는 '셀 상태' 대신 숨겨진 상태를 사용하며, 게이트가 3개가 아니라 2개입니다(리셋 게이트, 업데이트 게이트). LSTM 내의 게이트와 마찬가지로, 리셋 게이트와 업데이트 게이트는 어느 정보를 얼마나 많이 보존할 것인지 제어합니다.
수십 년 동안 IBM은 IBM Watson의 개발 및 진화로 강조된 AI 기술 및 신경망 개발을 주도해 왔습니다. Watson은 이제 AI 채택과 구현에 대해 입증된 계층화 방식을 사용하여, 자연어 처리 및 딥러닝 기술을 시스템에 적용하려는 기업이 신뢰하는 솔루션으로 확고히 자리 잡았습니다.
IBM IBM Watson Machine Learning 같은 IBM 제품은 순환 신경망에 일반적으로 사용되는 Tensorflow, Keras, PyTorch 같은 인기 있는 Python 라이브러리도 지원합니다. IBM Watson Studio와 Watson Machine Learning 같은 도구를 활용하면 어느 클라우드에서든 모델을 배포하고 실행하는 동시에 오픈 소스 AI 프로젝트를 프로덕션에 원활하게 도입할 수 있습니다.
인공지능 기술을 시작하는 자세한 방법은 IBM Watson Studio에서 확인하세요.
IBM watsonx는 비즈니스용 툴, 애플리케이션 및 솔루션 포트폴리오입니다. AI 도입에 따른 비용과 장애물을 줄이면서 결과를 최적화하고 AI의 책임 있는 사용을 최적화하도록 설계되었습니다.
IBM watsonx Assistant는 비즈니스용 AI 챗봇입니다. 이러한 엔터프라이즈 인공지능 기술을 통해 사용자는 대화형 AI 솔루션을 구축할 수 있습니다.
AI 모델을 구축하고 실행하며 관리합니다. PyTorch, TensorFlow, 사이킷 학습과 같은 오픈 소스 프레임워크, Jupyter Notebook, JupyterLab, CLI 같은 도구 또는 Python, R, Scala 같은 언어를 사용하여 모든 클라우드에서 데이터를 준비하고 모델을 구축할 수 있습니다.
프롬프트 엔지니어링, 대규모 언어 모델, 최고의 오픈 소스 프로젝트 등 AI 및 생성형 AI의 기본 개념을 알아보세요.
Granite는 디코더 전용 트랜스포머 아키텍처를 기반으로 하는 IBM의 주력 LLM 파운데이션 모델 시리즈입니다. Granite 언어 모델은 인터넷, 학술, 코드, 법률 및 재무를 아우르는 신뢰할 수 있는 엔터프라이즈 데이터로 학습됩니다.
대량의 데이터에 대해 학습되고 예측을 수행하기 위해 함께 작동하는 계산 단위를 다루는 이 기계 학습 분기를 살펴봅니다.