통계학 세상
close
프로필 배경
프로필 로고

통계학 세상

  • 분류 전체보기 (1474)
    • 다시보는 통계학 (28)
    • 딥러닝 (306)
      • 딥러닝 기초 (63)
      • Computer Vision (76)
      • NLP (59)
      • Machine Reading Comprehensi.. (21)
      • light weight modeling (47)
      • Graph (17)
      • recommendation system (7)
      • reinforcement learning (2)
      • LLM (6)
      • Deep Learning Specializatio.. (7)
      • Diffusion (1)
    • AI 논문 (45)
      • AI trend research (42)
      • 고전이 된 AI 논문 (3)
    • 데이터 분석 프로젝트 연습 (0)
    • 프로그래밍 (291)
      • 프로그래밍 개론 (7)
      • Python (79)
      • Java (15)
      • C++ (9)
      • C# (0)
      • 비전공자를 위한 자바스크립트 (8)
      • Pandas (10)
      • Numpy (8)
      • Pytorch (30)
      • SQL (23)
      • Unity&C# (27)
      • Tensorflow.js (2)
      • git 가이드 (10)
      • 비전공자를 위한 Web (4)
      • React (17)
      • node.js (17)
      • FastAPI (7)
      • docker & jenkins (10)
      • R 프로그래밍 (8)
    • 알고리즘 (495)
      • 알고리즘 일반 (61)
      • Java 기초 (22)
      • C++ 기초 (22)
      • 브루트포스 (22)
      • DFS BFS 정복기 (28)
      • 그래프 이론 정복기 (21)
      • 분리집합 (7)
      • 최단거리 알고리즘 (21)
      • 최소 스패닝 트리 (5)
      • 다이나믹 프로그래밍 (64)
      • 구현,시뮬레이션 (11)
      • 이분 탐색 (17)
      • 정렬 알고리즘 (9)
      • 그리디 알고리즘 (30)
      • 투 포인터 알고리즘 (9)
      • 누적 합 알고리즘 (14)
      • 문자열 알고리즘 (17)
      • 자료구조(스택,큐,해시맵) (13)
      • 슬라이딩 윈도우 (2)
      • 연결리스트 (2)
      • 분할 정복 (4)
      • 위상정렬 (3)
      • 세그먼트 트리 (14)
      • 유량 알고리즘 (1)
      • 이분 매칭 (2)
      • 고급 자료구조 (4)
      • 전처리 (1)
      • 게임이론 (8)
      • 비트마스킹 (7)
      • 애드 혹 알고리즘 (33)
      • 중간에서 만나기 (4)
      • 확률론 알고리즘 (3)
      • 선형대수학 알고리즘 (3)
      • 압축 알고리즘 (2)
      • 오프라인 쿼리 (1)
      • 정밀도 (3)
      • 재귀 연습장 (1)
      • 비둘기집 원리 (2)
      • 휴리스틱 (1)
      • 고급 알고리즘 (1)
      • 알고리즘 논문 (0)
    • 경쟁 프로그래밍 (22)
      • Atcoder (22)
    • 책 읽기 (79)
      • 비전공자도 이해할 수 있는 AI지식 (51)
      • 수학보다 데이터 문해력 (28)
    • 3D 모델링 (0)
      • blender (0)
    • 정수론 (74)
    • 선형대수학 (28)
    • 조합론 (11)
    • 정형데이터 (25)
    • 정보이론 (3)
    • Visualization (7)
    • 기하학 (29)
    • 컴퓨터과학(CS) (11)
    • 대수학 (4)
    • 데이터 해석 (6)
    • 금융 (1)
    • 읽을거리 (9)
  • 홈
  • 태그
  • 방명록
transformer의 메모리 사용량 알아보기

transformer의 메모리 사용량 알아보기

1. layer의 계산적인 측면 self attention의 layer의 계산적인 측면에서 본다면 input sequence의 길이가 n이고 hidden vector의 차원이 d일때 Q는 n*d차원이고 $K^{T}$ 는 d*n차원이므로 $O(n^{2}d)$ RNN은 d차원의 $h_{t-1}$이 $h_{t}$로 변환되기위해서는 $W_{hh}$라는 d*d행렬을 곱하여 계산되는데 input sequence의 길이 n에 대하여 $O(nd^{2})$ input sequence의 길이 n과 hidden vector의 차원 d는 의미적으로 큰 차이가 있는데 hidden vector의 차원은 hyperparameter로 선택할수있는 값이다. 그러나 input sequence는 선택할수 없는 값으로 데이터의 길이에 따라..

  • format_list_bulleted 딥러닝/NLP
  • · 2022. 5. 3.
  • textsms
multi-head attentiond 개념 알아보고 간단하게 구현해보기

multi-head attentiond 개념 알아보고 간단하게 구현해보기

지금까지 이야기한 것은 word embedding vector들의 self attention을 단 1번만 수행했다는 점인데 이것을 확장하여 여러번 수행하고 싶다는 것이다. 왜 여러번 수행해야할까? 단 1번의 self attention은 1가지 측면에서만 word들의 attention 측면을 고려하지만 필요에따라 attention 측면을 여러 방면에서 수행할 필요가 있다. 특히 매우 긴 문장의 경우 ‘I went to the school. I studied hard. I came back home. I took the rest.’를 생각해보자. 이 문장을 해석하기 위해 단어 I에 대해서 고려해야할 대상은 went, studied, came, took 등 동사 측면도 있지만 그것의 대상이되는 school, ..

  • format_list_bulleted 딥러닝/NLP
  • · 2022. 5. 2.
  • textsms
scaled dot product attention

scaled dot product attention

우리는 $softmax(QK^{T})V$로 attention을 구했지만 논문에서는 scaled dot product attention을 제안했다. key,query matrix의 차원 $d_{k}$의 제곱근으로 $QK^{T}$를 나눠줬다. 왜 그랬는지 생각해보자. query와 key의 내적은 언제나 하나의 scalar지만 query,key의 차원 $d_{k}$가 충분히 크다면 내적이 당연히 커진다는 점에 주목했다. 그러면 softmax function이 gradient를 극도로 낮게 만드는 영역이 존재한다는 것이다. We suspect that for large values of $d_{k}$, the dot products grow large in magnitude, pushing the softmax..

  • format_list_bulleted 딥러닝/NLP
  • · 2022. 5. 1.
  • textsms
예시와 그림으로 이해하는 self attention의 원리

예시와 그림으로 이해하는 self attention의 원리

1. 예시로 알아보는 self attention hidden state vector를 만들고자 하는 x1의 query를 q1으로 생성 1에서 x1의 query q1와 x1,x2,x3의 key k1,k2,k3 각각의 내적으로 score를 계산 (3.8,-0.2,5,9) softmax를 취하여 어느 벡터에 집중할지 가중치를 계산 (0.2,0.1,0.7) 가중치인 score와 x1,x2,x3의 value v1,v2,v3의 weighted sum을 구한다. 즉 x1의 hidden vector h1=0.2v1+0.1v2+0.7v3으로 구해진다. 이러면 이제 x1,x2,x3를 학습이 가능한 weight matrix인 $W^{Q}, W^{K}, W^{V}$로 변환하여 얻은 query,key,value를 이용하였는데 ..

  • format_list_bulleted 딥러닝/NLP
  • · 2022. 4. 28.
  • textsms
NLP의 역사를 바꾼 self-attention의 기본 원리

NLP의 역사를 바꾼 self-attention의 기본 원리

1. self-attention transformer에 도입한 attention의 원리는 seq2seq의 attention과 비슷하지만 조금 다르다. self-attention이라고 이름이 붙여졌는데 transformer encoder의 기본 구조는 input sequence x1,x2,x3가 self attention을 지나 바로 encoding되어 h1,h2,h3의 hidden vector가 된다. 2. seq2seq의 encoder 이전 sequence의 압축정보를 전달받아 다음 sequence로 넘겨가며 전달하며 encoder의 hidden vector를 생성했다. decoder에서 마지막 encoder의 hidden vector랑 첫번째 decoding input을 입력받아 생성한 decoder..

  • format_list_bulleted 딥러닝/NLP
  • · 2022. 4. 27.
  • textsms
NLP에서 한 획을 그은 transformer은 왜 등장했는가 + bidirectional RNN의 특징

NLP에서 한 획을 그은 transformer은 왜 등장했는가 + bidirectional RNN의 특징

1. transformer는 왜 등장했는가 자연어를 입력받아 자연어를 생성하는 LSTM기반의 seq2seq의 성능을 개선한 transformer Attention is all you need, NeurIPS’17에서 발표 LSTM이나 GRU기반의 seq2seq는 추가적인 모듈로 attention을 사용했지만 transformer은 LSTM이나 GRU같은 RNN모듈을 걷어내고 attention 구조만 사용하여 더 이상의 RNN은 사용하지 않았다. 논문의 제목은 이러한 의미를 담고 있다. ‘오직 너에게 필요한것은 attention’ 왜 이것이 의미있을까? 이미 배웠지만 RNN은 구조상 매 step마다 이전 input의 정보를 쌓아나가며 일정한 차원에 계속해서 압축해나가기때문에 short term depend..

  • format_list_bulleted 딥러닝/NLP
  • · 2022. 4. 20.
  • textsms
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (1474)
    • 다시보는 통계학 (28)
    • 딥러닝 (306)
      • 딥러닝 기초 (63)
      • Computer Vision (76)
      • NLP (59)
      • Machine Reading Comprehensi.. (21)
      • light weight modeling (47)
      • Graph (17)
      • recommendation system (7)
      • reinforcement learning (2)
      • LLM (6)
      • Deep Learning Specializatio.. (7)
      • Diffusion (1)
    • AI 논문 (45)
      • AI trend research (42)
      • 고전이 된 AI 논문 (3)
    • 데이터 분석 프로젝트 연습 (0)
    • 프로그래밍 (291)
      • 프로그래밍 개론 (7)
      • Python (79)
      • Java (15)
      • C++ (9)
      • C# (0)
      • 비전공자를 위한 자바스크립트 (8)
      • Pandas (10)
      • Numpy (8)
      • Pytorch (30)
      • SQL (23)
      • Unity&C# (27)
      • Tensorflow.js (2)
      • git 가이드 (10)
      • 비전공자를 위한 Web (4)
      • React (17)
      • node.js (17)
      • FastAPI (7)
      • docker & jenkins (10)
      • R 프로그래밍 (8)
    • 알고리즘 (495)
      • 알고리즘 일반 (61)
      • Java 기초 (22)
      • C++ 기초 (22)
      • 브루트포스 (22)
      • DFS BFS 정복기 (28)
      • 그래프 이론 정복기 (21)
      • 분리집합 (7)
      • 최단거리 알고리즘 (21)
      • 최소 스패닝 트리 (5)
      • 다이나믹 프로그래밍 (64)
      • 구현,시뮬레이션 (11)
      • 이분 탐색 (17)
      • 정렬 알고리즘 (9)
      • 그리디 알고리즘 (30)
      • 투 포인터 알고리즘 (9)
      • 누적 합 알고리즘 (14)
      • 문자열 알고리즘 (17)
      • 자료구조(스택,큐,해시맵) (13)
      • 슬라이딩 윈도우 (2)
      • 연결리스트 (2)
      • 분할 정복 (4)
      • 위상정렬 (3)
      • 세그먼트 트리 (14)
      • 유량 알고리즘 (1)
      • 이분 매칭 (2)
      • 고급 자료구조 (4)
      • 전처리 (1)
      • 게임이론 (8)
      • 비트마스킹 (7)
      • 애드 혹 알고리즘 (33)
      • 중간에서 만나기 (4)
      • 확률론 알고리즘 (3)
      • 선형대수학 알고리즘 (3)
      • 압축 알고리즘 (2)
      • 오프라인 쿼리 (1)
      • 정밀도 (3)
      • 재귀 연습장 (1)
      • 비둘기집 원리 (2)
      • 휴리스틱 (1)
      • 고급 알고리즘 (1)
      • 알고리즘 논문 (0)
    • 경쟁 프로그래밍 (22)
      • Atcoder (22)
    • 책 읽기 (79)
      • 비전공자도 이해할 수 있는 AI지식 (51)
      • 수학보다 데이터 문해력 (28)
    • 3D 모델링 (0)
      • blender (0)
    • 정수론 (74)
    • 선형대수학 (28)
    • 조합론 (11)
    • 정형데이터 (25)
    • 정보이론 (3)
    • Visualization (7)
    • 기하학 (29)
    • 컴퓨터과학(CS) (11)
    • 대수학 (4)
    • 데이터 해석 (6)
    • 금융 (1)
    • 읽을거리 (9)
최근 글
인기 글
최근 댓글
태그
  • #알고리즘
  • #프로그래밍
  • #파이썬
  • #python
  • #정수론
  • #백준
  • #NLP
  • #머신러닝
  • #딥러닝
  • #코딩테스트
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바