반응형 Deep Learning25 Masked Self-Attention과 Masked Language Modeling 차이 Masked Self-Attention과 Masked Language Modeling 트랜스포머를 공부하다 보면 “masked”라는 단어가 자주 등장합니다. 그런데 이 용어가 서로 다른 맥락에서 쓰이다 보니 헷갈리기 쉽습니다. 저도 처음에는 인코더도 masked self-attention으로 학습하는 게 아닌가? 하고 착각했던 적이 있습니다.이 글에서는 디코더의 masked self-attention과 BERT의 masked language modeling (MLM)을 구분해서 정리해보겠습니다. 디코더의 Masked Self-Attention디코더는 문장을 왼쪽에서 오른쪽으로 한 토큰씩 생성합니다.학습 과정에서는 전체 정답 문장이 주어지는데, 이 상태에서는 현 시점에서 미래 단어를 보면 안됩니다.그래서.. 2025. 9. 16. Information Theory and Contrastive Learning 이 글은 서울대학교 '최신 인공지능 기술' 강의 중 이원종 교수님의 'Information Theory and Contrastive Learning' 강의를 듣고 정리한 글입니다. 목표Information theory는 딥러닝, 머신러닝에 많이 사용되는데, 이 컨셉이 어떻게 머신러닝에 녹아들어있는지 이해하기Information theory 연구가 어떻게 쭉쭉 연결되어 흘러가다가 contrastive learning 의 motivation 이 되어서 CLIP, vision & language 모델의 foundation 까지 흘러들어왔는가 이해하기어떻게 Information theory 가 unsupervised learning 의 기초가 되었는지 이해하기응용분야) 다른 도메인에서 연구할 때 결국 이 알고리.. 2024. 11. 14. 트랜스포머(Transformer) (4) - 인코더와 디코더, 어텐션 인코더 (Encoder) 트랜스포머는 하나의 인코더 층이 총 두개의 서브 층으로 이루어짐 : 셀프어텐션, 피드포워드 신경망1) 셀프어텐션 : multi-head self-attention 블록으로 셀프 어텐션을 병렬적으로 사용함2) 피드포워드 신경망 : position-wise FFNN 블록으로 그냥 일반적인 피드 포워드 신경망임 self-attention : 인코더 파트에서 수행하는 어텐션- 각각의 단어가 서로 어떤 연관성을 가지고 있는지 구하기 위해 사용ex) I am a teacher : 문장을 구성하는 각각의 단어 I, am, a, teacher 에 대해서 각각의 단어끼리 attention score 을 구해서 서로 어떤 단어와 높은 연관성을 갖는지에 대한 정보를 학습시킴어텐션을 통해 전반적.. 2022. 6. 4. 트랜스포머(Transformer) (3) - 구조, 동작원리, 포지셔널 인코딩(Positional Encoding), 어텐션(Attention) 트랜스포머의 구조 - Attention Is All You Need 트랜스포머는 어텐션 기법만 쓰기 때문에 RNN, CNN 은 전혀 사용하지 않음- 그래도 기존의 seq2seq 의 인코더-디코더 구조는 유지- 인코더에서 입력 시퀀스를 입력받고, 디코더에서 출력 시퀀스를 출력그렇기 때문에 문장 안에 포함된 각각의 단어들의 순서에 대한 정보를 주기 어려움문장내 각각 단어의 순서에 대한 정보를 알려주기 위해 positional encoding 사용이러한 아키텍쳐는 BERT 와 같은 향상된 네트워크에서도 채택됨어텐션 과정 한번만 사용하는 것이 아니라 여러 레이어를 거쳐서 반복하도록 만듦인코더와 디코더 N 번 만큼 중첩되어 사용하도록 만듦.- 이전 seq2seq 구조에서는 인코더 / 디코더 하나에서 각 RNN 이.. 2022. 6. 4. 트랜스포머(Transformer) (2) - Attention 으로 seq2seq 문제 해결 이 글은 나동빈님의 'Transformer : Attention Is All You Need' 논문 리뷰 영상을 보고 정리한 글입니다. Seq2Seq 의 문제 : 하나의 문맥 벡터가 소스 문장의 모든 정보를 가지고 있어야 하므로 성능이 저하됨 해결 방안 : 그렇다면 매번 소스 문장에서의 출력 전부를 입력으로 받으면 어떨까? ==> 'Attention' 메커니즘 사용해 인코더의 모든 출력 참고 가능 매번 단어가 출력되어서 hidden state 가 나올 때마다 그냥 그 값들을 전부 출력 값으로써 별도의 배열(w)에 다 기록해놓음 각각의 단어를 거치면서 나오는 h1, h2, h3, h4 들을 다 저장. 출력 단어 생성할 때마다 이 소스 단어들(w)을 다 참고하겠다는 아이디어 각 단어들을 다 똑같이 그냥 참고.. 2022. 6. 3. 트랜스포머(Transformer) (1) - Seq2Seq 모델의 한계점 이 글은 나동빈님의 'Transformer : Attention Is All You Need' 논문 리뷰 영상을 보고 정리한 글입니다. 트랜스포머 (Transformer - Attention Is All You Need) '어텐션' 이라는 메커니즘을 전적으로 활용하는 아키텍쳐 많은 최신 자연어 처리 모델이 활용하고 있는 아키텍쳐 - 트랜스포머 제안 Transformer 의 메인 아이디어는 BERT, GPT 와 같은 최신 아키텍처에 채택되어 Google 번역기, 파파고 등에 활용되고 있음 딥러닝 기반의 기계 번역 발전 과정 2021년 기준 최신 고성능 모델들은 트랜스포머 아키텍쳐를 기반으로 하고 있음 GPT : 트랜스포머의 '디코더(decoder)' 아키텍처 활용 BERT : 트랜스포머의 '인코더(enco.. 2022. 6. 2. 신경망 출력층 설계하기 (분류, 회귀에 맞는 활성화 함수 선정) 출력층 설계하기 신경망은 분류와 회귀 모두에 이용가능 기계학습 문제는 분류(classification)와 회귀(regression)로 나뉨 분류 : 데이터가 어떤 클래스에 속하느냐의 문제 ex) 사진 속 인물의 성별 분류 문제 회귀 : 입력 데이터에서 (연속적인) 수치를 예측하는 문제 ex) 사진 속 인물의 몸무게(57.4kg?) 를 예측하는 문제 * '회귀' 의 기원 : 19세기 후반ㅡ 영국의 프랜시스 골턴 경이 사람과 완두콩을 대상으로 크기를 측정했는데, 관찰 결과 키가 큰 부모의 자식은 부모보다 작고, 작은 부모의 자식은 부모보다 큰, 즉 평균으로 회귀하는 경향이 있음을 알았음. - 그 사이에는 선형 관계가 있어 부모의 키로부터 자식의 키를 예측할 수 있고, 그 예측 결괏값이 연속적인 수치였음 어떤.. 2022. 5. 31. 넘파이(numpy)로 신경망 구현하기 신경망에서의 행렬 곱넘파이 행렬을 사용해 신경망 구현해보기x1, x2 에서 y1, y2, y3 로 가는 간단한 신경망 구현 (편향과 활성화 함수 생략하고 가중치만 갖는)X, W, Y 형상 주의 (X와 W 의 대응하는 차원의 원소 수 일치해야 함) 간단한 신경망의 행렬 곱 구현 다차원 배열의 스칼라곱을 구해주는 np.dot 함수를 통해 이렇게 간단하게 결과 Y 계산 가능Y 의 원소가 100개든 1000개든 한 번의 연산으로 계산 가능만약 np.dot 이 없었으면 for 문 사용해서 계산해야 함따라서 행렬의 곱으로 한꺼번에 계산해주는 이 기능은 신경망 구현에 있어서 핵심 3층 신경망 구현하기 (순방향 처리 구현)입력부터 출력까지의 순방향 처리 구현해보기신경망에서의 계산을 행렬 계산으로 정리할 수 있다는 .. 2022. 5. 31. numpy를 이용한 다차원 배열 계산 - 신경망 효율적 구현 다차원 배열 다차원 배열도 일단 '숫자의 집합' 숫자가 한 줄로 있는 것부터 시작해서 직사각형, 3차원, 더 일반화하여 N차원으로 나열하는 모든 배열을 '다차원 배열' 이라고 함 넘파이로 작성한 1차원 배열 np.ndim(A) : 배열의 차원 수 확인 A.shape : 인스턴스 변수 shape 로 배열의 형상 확인하기 - "튜플 반환" 1차원 배열이라도 다차원 배열과의 형태 통일을 위해 튜플 형태인 (4, ) 로 반환 예를 들어 2차원 배열이면 (4, 3), 3차원 배열이면 (4, 3, 2) 형태로 반환됨 이 예시에서는, A 는 1차원 배열이고 원소 4개로 구성되어 있다는 것을 확인 가능 넘파이로 작성한 2차원 배열 B는 '3 x 2 배열' : 처음 차원에는 원소가 3개, 다음 차원에는 원소가 2개있다는.. 2022. 5. 31. 비선형 함수를 사용하는 이유, ReLU 함수 비선형 함수계단 함수와 시그모이드 함수의 또 다른 공통점 : 모두 비선형 함수시그모이드 함수 : 곡선, 계단 함수 : 구부러진 직선 = 모두 비선형 함수로 분류됨 선형함수와 비선형함수함수란 어떤 값을 입력하면 그에 따른 값을 돌려주는 '변환기'선형 함수 : 변환기에 무언가 입력했을 때 출력이 입력의 상수배만큼 변하는 함수f(x) = ax + b ; a와 b는 상수 - 즉, 선형 함수는 곧은 1개의 직선비선형 함수 : '선형이 아닌' 함수즉, 직선 1개로는 그릴 수 없는 함수 활성화 함수로 반드시 '비선형 함수' 를 사용해야 함신경망에서는 활성화 함수로 "비선형 함수" 를 사용해야 함선형 함수를 사용하면 안됨 - 선형함수를 이용하면 신경망의 층을 깊게 하는 의미가 없어짐선형 함수는 층을 아무리 깊게 해도.. 2022. 5. 31. 이전 1 2 3 다음 반응형