[DL] Transformer와 Attention 메커니즘
·
AI/Deep Learning
들어가며이 글은 LG aimers 9기 온라인 학습 과정 강의를 수강한 후 공부한 내용을 정리한 글입니다이번 글에서는 RNN 모델의 한계를 극복한 Transformer 모델과Transformer 모델의 핵심 알고리즘인 Attention 메커니즘까지 알아볼 것이다 RNN의 한계를 극복한 LSTM이라는 모델이 나왔음에도여전히 병렬 계산이 불가능하여 시간적으로 비효율적이고아주 긴 문장에서는 앞의 정보가 소실되는 문제가 여전히 존재한다이 문제를 해결하기 위해 병렬 계산이 가능한 Transformer 모델이 등장하였다 Seq2Seq사실 transformer가 등장하기 전 여러 모델들이 연구되었다그 중 하나가 Seq2Seq라는 모델인데기본 형태의 RNN 모델은 입력과 출력이 1:1로 대응되므로입력길이와 출력길이가 ..
[DL] 자연어처리 기초와 RNN
·
AI/Deep Learning
들어가며이번에 lg aimers 9기 과정을 듣게되었다딥러닝에 대해 공부하던 중 책에서는 자세히 다루지 않던 LLM, Transformer, RAG 등의 기술을 따로 배워보고 싶었는데마침 lg aimers 9기 모집 시기였고 이번 기회에 온라인 교육 강의를 들으며 궁금했던 내용을 배우고온라인 해커톤까지 한 번 도전해보고자 신청하게되었다온라인 AI 교육 과정에서 다루는 내용 중 LLM 관련 내용들을 블로그를 통해 따로 정리해보고자 한다 이번 글에서는 자연어처리란 무엇인지, 어떤 과정으로 이루어져있는지 알아보고자연어처리 기술을 이용한 언어 모델과 이를 구현하는 데에 사용되는 RNN에 대해 알아볼 것이다 자연어처리(NLP)자연어 처리(Natural Language Processing)는 언어 AI 분야의 일종..
[DL] 신경망 규제
·
AI/Deep Learning
들어가며심층 신경망은 많은 수의 뉴런과 많은 층들로 이루어져 있어 학습해야 할 파라미터가 매우 많다이로인해 복잡한 대규모 데이터셋을 학습하기 위해 네트워크는 높은 자유도를 가진다 이런 높은 자유도를 가진 네트워크는 훈련 세트에 과대적합되기 쉬워진다따라서 규제가 필요하며 이번 글에서는 규제를 하는 여러 방식들에 대해 알아볼 것이다 l1, l2 규제예전 글에서 선형 회귀 모델에 l1, l2 규제를 적용시킨 방법에 대해 다뤘었는데신경망에서의 l1, l2 규제도 똑같은 방식이다 손실함수에 규제항을 더하여 최종 손실을 계산하고,이 손실을 기준으로 역전파를 수행하여 가중치를 업데이트한다layer = tf.keras.layers.Dense(100, activation="relu", ..
[DL] 학습률 스케줄링
·
AI/Deep Learning
들어가며신경망의 효율을 높이는 방안으로 학습률을 조정하는 것은 꽤 좋은 선택이 될 것이다학습률이 너무 크면 훈련이 발산하고 너무 작으면 시간이 오래 걸린다 일반적으로 적절한 학습률을 선택할 때는 학습 곡선을 통해 작은 값부터 큰 값까지 보고 선택한다하지만 일정한 학습률보다 큰 학습률에서 시작해서 학습 속도가 느려질 때 학습률을 낮추는 것이고정된 학습률보다 좋은 솔루션을 더 빨리 발견할 수 있다 이 전략을 학습률 스케줄링이라고 부른다 아래에서 널리 사용되는 학습률 스케줄링 방식 5가지를 알아볼 것이다 거듭제곱 기반 스케줄링거듭제곱 기반 스케줄링은 학습률을 반복 횟수 t에 대한 함수로 정의된다s는 사용자가 지정하는 감소 기준 정도(epoch 단위)로 고정된 값이다t는 현재 학습 진행 정도(epoch 단위)를..
[DL] 고속 옵티마이저
·
AI/Deep Learning
들어가며지난 글들에서 신경망의 훈련 속도를 높이는 방법들에 대해 알아보았다좋은 초기화 전략, 좋은 활성화 함수, 배치 정규화가 있었다이번 글에서는 훈련 속도를 높일 수 있는 또 다른 방법으로 표준적으로 사용되는 옵티마이저인경사 하강법 대신 더 빠른 옵티마이저에 대해 알아볼 것이다모멘텀 최적화, AdaGrad, RMSProp, Adam까지 총 4가지의 옵티마이저를 살펴볼 것이다 모멘텀 최적화일반적인 경사하강법은 최적화 방식이 아래와 같다즉 현재 기울기만을 가지고 가중치를 업데이트 하는 방식이다이 방식은 최적점까지 가는 과정에서 진동이 많아져 수렴 속도가 느려지게 될 위험이 있다 반면 모멘텀 최적화는 현재 기울기뿐만 아니라 이전 기울기까지 고려하여 가중치에 반영한다각 반복에서 그레디언트를 직접적으로 가중치에..
[DL] 배치 정규화(batch normalization)
·
AI/Deep Learning
들어가며저번 글에서 그레디언트 소실 문제를 해결할 수 있는 방안으로가중치 초기화 방식과 활성화 함수에 대해 알아보았는데, 이 두가지를 아무리 잘 설정한다고 하더라도훈련하는 동안 그레디언트 소실 문제가 다시 일어나지 않을거란 보장이 없다 그래서 이번 글에서는 그레디언트 소실 문제 해결을 위한 다른 방법인 배치 정규화에 대해 알아볼 것이다또한 마지막에는 그레디언트 클리핑이라는 기법까지 다뤄보겠다 배치 정규화배치 정규화는 각 층에서 활성화 함수를 통기화기 전 또는 후에 연산을 하나 추가하여분포를 안정화시켜 학습을 더 빠르고 안정적으로 만드는 기법이다 핵심 아이디어는 각 배치를 평균 0 분산 1에 가깝게 정규화한 뒤 하이퍼파라미터 γ, β를 이용해서학습에 적절하도록 스케일과 이동을 조절한다 알고리즘 과정은 아래..
[DL] 그레디언트 소실 문제 해결을 위한 가중치 초기화 방식들과 여러 활성화 함수
·
AI/Deep Learning
들어가며저번 글에서는 주로 은닉 층의 개수가 얼마 되지 않는 얕은 네트워크를 다루었다고해상도 이미지 객체 탐지와 같은 복잡한 문제를 마주하게 되면얕은 네트워크만으로는 문제를 해결할 수 없다이럴 때는 수백 개의 뉴런과 여러 개의 은닉층을 연결한 심층 신경망을 훈련시켜야 한다 이번 글에서는 심층 신경망에서 나타나는 문제점인 그레디언트 소실 문제를 설명하고이를 해결할 수 있는 여러 가중치 초기화 방식들과 활성화 함수들을 알아볼 것이다 그레디언트 소실 문제모델의 가중치 수정을 위한 그레디언트를 계산에서 사용되는 역전파 알고리즘은 심층 신경망에서 사용 시 하위 층으로 진행될수록 그레디언트가 점점 작아지는 경우가 발생하고이를 그레디언트 소실 문제라고 부른다 상위 층에서부터 연쇄법칙을 적용하여 하위 층의 그레디언트를..
[DL] 퍼셉트론과 역전파 알고리즘
·
AI/Deep Learning
들어가며인공 신경망은 인간과 동물의 뇌에 있는 뉴런의 작동 방식에서 영감을 받았으며뇌에 뉴런이 연결되어 정보를 학습하고 처리하는 방식을 컴퓨터에서 모방하려는 구조를 의미한다퍼셉트론은 이러한 인공 신경망의 가장 간단한 구조를 말한다 이번 글에서는 퍼셉트론이 무엇인지, 퍼셉트론이 어떤 방식으로 훈련되어 값을 예측하는지,단일 퍼셉트론의 한계를 알아보며 다층 퍼셉트론이 필요한 이유에 대해 알아볼 것이다또한 다층 퍼셉트론의 훈련 방식에서 사용되는 역전파 알고리즘까지 알아볼 것이다 퍼셉트론위에서 말했듯이 퍼셉트론은 가장 간단한 인공 신경망 구조로입력과 출력이 이진값이 아닌 어떤 숫자이고 각각의 입력 연결은 가중치와 연관되어 있다퍼셉트론은 입력값을 받으면 입력의 선형 함수(z=w^T+b)를 계산하여나온 결과값을 활성..
[AI] 가우스 혼합 모델(Gaussian mixture model)
·
AI/Machine Learning
들어가며이번 글에서는 가우스 혼합 기반 군집화 알고리즘에 대해 공부할 예정이다가우스 분포로에서 생성된 샘플들은 타원형 클러스터를 이룬다고 하며타원형 데이터의 군집을 잘 잡아내는 알고리즘으로 유명하다 가우스 혼합 모델은 샘플들이 파라미터가 알려지지 않은여러 개의 혼합된 가우스 분포에서 생성되었다고 가정하는 확률 모델이다즉 하나의 가우스 분포에서 생성된 샘플들은 하나의 클러스터를 형성하고전체 데이터에서 각 가우스 분포별로 클러스터가 형성되어 나타난다이 때의 클러스터 모양이 타원형이라고 하며 밑에서 자세히 알아보겠다 가우스 혼합 모델일반적인 데이터(단일 분포 모델)는 모든 샘플들이 동일한 확률 분포를 따르지만가우스 혼합 모델에서는 전체 데이터는 하나의 확률분포가 아닌여러 분포의 혼합이라고 말하며 같은 클러스터..
[AI] DBSCAN(density-based spatial clustering of applications with noise)
·
AI/Machine Learning
들어가며이번 글에서는 군집 알고리즘들 중 k-평균과 함께 인기있는 알고리즘인 DBSCAN에 대해 알아보겠다이름만 들었을 때는 뭘 의미하는지 감도 안잡혔는데density-based spatial clustering of applications with noise의 약어라는 것을 알고밀도를 고려해서 클러스터를 찾는 것이라는 느낌 정도만 왔다밑에서 자세히 알아보도록 하겠다 DBSCANDBSCAN은 밀집해 있는 연속된 지역을 클러스터로 정의한다핵심 아이디어는 아래와 같다1. 알고리즘이 각 샘플에서 거리가 ε 내에 샘플이 몇 개 있는 지 세고 이 지역을 샘플의 ε-이웃이라고 정의한다2. ε-이웃 내에 적어도 min_samples개의 샘플이 있다면 이 샘플을 핵심 샘플로 지정한다3. 핵심 샘플의 이웃 샘플들은 모두..