RNN의 문제점RNN은 과거 입력들이 계속 연결된 구조이기에,역전파 과정에서 gradient가 계속 곱해지면서 weight가 1보다 작으면 gradient가 점점 작아져 사라지고(vanishing),1보다 크면 gradient가 점점 커져서 폭발하게 된다(exploding).이러한 문제는 RNN이 장기 의존성을 학습하는 데 큰 방해가 된다.그나마 exploding 문제는 gradient clipping을 하면 되지만, vanishing gradient 문제는 RNN의 구조를 바꿔야 할 필요가 있다.그래서 나타난 것이 LSTM이다. LSTM(Long Short Term Memory)기울기 소실/폭발 문제를 해결하기 위해 등장한 구조로,핵심 아이디어는 '정보를 장기적으로 유지할 수 있는 cell state..
전체 글
이제 딥러닝 모델의 크기가 점점 커지고 있다.따라서 당연하게도 연산량과 파라미터 수도 증가한다. 이는 메모리, 계산 자원, 배터리 등에 부담을 준다.Vision 분야, NLP 분야 둘 다 그렇다. 따라서 이에 대해 두 가지 해결책을 제시했다. 당연히 이 둘의 목적은 모델 사이즈 축소+계산 효율성 향상+적은 에너지 사용이다. 1. Pruning보라 : 걍 단순 가지치기, 초록 : 가지치기 하고 성능 하락 보완 위해 재학습, 빨강 : 가지치기-재학습-가지치기 ... 불필요한 연결(synapse)이나 뉴런을 제거하는 가지치기 기법이다. 인간의 뇌에서도 자연스럽게 pruning이 수행된다.보통 2-4살 때는 사물의 어떤 것을 기억해야 할지 잘 모르기 때문에 모든 것을 기억하려 한다.이때 synapse per..
CNN Applications Object detectionobject(classification)+region(regression) -> 각 object의 사각범위와 label을 구하는 task Computer vision tasks입력->원하는 출력->새로운 네트워크 구조 설계 Image classification이미지 입력->softmax->클래스 확률, 예측-실제 정답 CE loss로 비교 Semantic segmentation픽셀 단위로 클래스 분류-> CE loss로 픽셀 단위 정답과 예측간 손실 계산, IoU(교집합/합집합)로 학습(but IoU가 미분 불가능하기에 보통 IoU 베이스 soft IoU나 dice 사용)자율주행, 의학이미지, 위성사진 등 하지만 이 semantic segment..
Convolution특징 맵(feature map)은 3차원(h, w, c) 구조를 가진다. 얘네끼리 더하려면 당연하게도 h, w, c가 모두 같아야 한다. 하지만 이어붙이려면 h, w만 같으면 된다. Atrous(Dilated) convolution커널 자체에 stride를 집어넣는다? 라고 생각하면 될 듯하다. 커널의 파라미터 수는 그대로 유지하면서, 커널의 크기를 넓히면서 다양한 공간 해상도의 특성을 포착할 수 있다.위 그림처럼 다양한 크기의 dilation을 병렬로 구성하여 입력에 대한 멀티스케일 context 정보를 추출할 수 있어 효과적이다. 아니면 이렇게 filter composition을 통해 이미지 분할 또는 장면 이해에 사용할 수 있다. Transposed Convolution(Deco..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. LLM의 문제점1. Hallucination나는 가끔 ChatGPT에게 질문을 하고 답변을 얻어도, 약간 미심쩍을 때가 많았다. 그 이유가 Hallucination 때문이다. 이는 LLM이 자연스러운 답변을 위해 거짓이어도 내용을 만들어내는 것이다.또한 Transformer는 AutoRegression을 수행하는데, 앞에서 Hallucination 발생시 뒤쪽도 당연히 이상해진다. 2. 계산량내가 LLM에게 참고하라고 알려주고 싶은 자료가 너무 많은데, LLM은 입력 정보가 많을수록 계산량이 기하급수적으로 증가한다. 3. 실시간성만약 LLM을 2023년도까지의 문서들로만 학습을 시켜놨다면, 그 이후 업데이트된 정보는 LLM이 모를..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. N2M이란?N-to-M 문제로, N개의 입력을 받아 M개의 출력을 생성하는 자연어 처리 문제 유형이다. 이 글에서 다뤄볼 것은 아래와 같다. 1. N2M 문제 정의 및 이해2. Encoder-Decoder vs Decoder-only 모델 구조 차이3. Decoder 출력에서 Search Strategy를 통한 문장 생성 원리 이해4. Text Summarization을 위한 모델 구조와 Loss Function 이해 N2M 문제 정의 및 이해위에서 말했듯 N개의 input Token으로부터 M개의 output token을 생성하는(구하는) 문제이다.자연어 처리 전반에서 흔한 구조다. 번역, 요약, 질문 응답 등.. Text Su..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. ChatGPT란?OpenAI에서 개발한 GPT 아키텍처 기반 대규모 언어 모델 시리즈이다.인간처럼 자연스러운 텍스트 생성, 질의응답, 다양한 스타일/포맷에 적응할 수 있는 것이 특징이다.이는 고객 서비스, 콘텐츠 생성, 교육 등에 활용된다.핵심적으로, 윤리적 사용/지속적 학습/성능 개선에 초점을 둔다. 이 글에서 다룰 것은 두 가지이다.1. ChatGPT와 같은 LLM 서비스가 어떻게 학습되는지,2. LLM 서비스를 어떻게 fine-tuning 하는지! ChatGPT의 학습 방식기본 : RLHF (Reinforcement Learning from Human Feedback)단계 : 1. supervised fine-tuning :..
본 게시글은 충남대 정상근 교수님의 강의자료를 바탕으로 작성한 글입니다. T5 Model (Text-to-Text Transfer Transformer)이 모델의 기본 아키텍처는 아래 그림과 같다. 텍스트 입력을 인코딩한 후, 텍스트 생성 작업을 위해 디코더를 활용하는 text-2-text 접근 방식을 사용한다. 핵심 개념은 모든 자연어 처리 문제(번역, 요약, 질문 응답 등)을 텍스트 생성 문제로 변환해서 해결한다는 것이다.이렇게 말이다. 얘는 어떻게 학습하는 거냐면,기본적으로 대규모 텍스트 코퍼스를 사용해 '마스킹된 텍스트 채우기 작업'을 수행해서 일반적인 언어 지식을 학습한 뒤, 특정 task(질문 응답, 요약 등)를 위해 파인튜닝 된다. 아래 사진을 보자. task가 여럿 있을 때, 각 tas..