본문 바로가기

DeepLearning29

[논문리뷰] TSM: Temporal Shift Module for Efficient Video Understanding Abstract Video understanding task에서 높은 정확도와 낮은 계산량은 도전과제로 키워지고있다. 2D CNN은 계산량이 적지만 temporal information을 활용하지 못한다는 단점이 있고, 3D CNN은 계산량이 많다는 단점이 있다. 이 논문에서 우리는 높은 효율성과 성능을 낼 수 있는 Temporal Shift Module을 제안한다. 이 모델은 2D CNN에 삽입되어 계산량과 파라미터 없이 temporal modeling이 가능하게 하여 2D 모델의 계산량과 3D 모델의 성능을 낼 수 있게 한다. Introduction 본 논문의 기여는 다음 네 가지로 요약된다. 1. 추가적인 계산량없이 시공간적 모델링이 가능하게 하는 temporal-shift라는 새로운 관점을 제시한.. 2023. 1. 22.
[논문리뷰] BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding 이 논문을 읽기 전에 알면 좋겠다고 생각한 것(내가 몰랐던 것) 1. pre-trained language representation을 적용하는 두가지 전략 1) feature-based : 임베딩은 그대로 두고 그 위에 레이어만 학습 하는 방법 2) fine-tuning : 임베딩까지 모두 업데이트하는 기법 2. downstream Task -> 원래 목적으로 만들어진 모델을 fine-tuning할 때 쓰이는 task pre-trained 모델(상류) ------특정 task에 fine-tuning중----> 하류 -> 이때 특정 task가 downstream Task 3. ablation study -> 머신러닝, 딥러닝 논문에 나오는 단어인데 ablation은 절제라는 뜻으로 완성된 모델에서 ai시.. 2022. 2. 16.
[논문리뷰] Attention is all you need Abstract 기존의 좋은 성능을 내는 모델들은 복잡한 recurrent나 convolutional neural network 구조에 인코더와 디코더로 구성된 모습이었다. 우리는 attention 메커니즘에만 베이스를 둔 Transformer라는 새로운 심플한 네트워크 아키테쳐를 제안한다. 두 개의 기계번역 task에서 이 모델은 더욱 병렬화가 가능하면서 더 적은 학습시간을 가지는 모습을 보여주었다. Introduction RNN모델들은 기계번역이나 시계열 모델링과 같은 부분에서 가장 좋은 성능을 보여왔다. 하지만 이 모델들은 병렬화에 대한 부분을 본질적으로 배제해왔고 이것은 긴 길이의 시퀀스에 치명적이다. attention 메커니즘은 input과 output의 거리에 상관없이 모델링할 수 있어 여러 .. 2022. 2. 15.
[논문리뷰] NEURAL MACHINE TRANSLATIONBY JOINTLY LEARNING TO ALIGN AND TRANSLATE Abstract 기계번역에서 이전의 통계기반 모델과 달리 neural machine 번역은 번역 성능을 최대화 시킬 수 있는 single neural network를 만드는데 초점을 둔다. 이 최근 neural machine들은 encoder-decoder 구조로 source sentence(input)를 고정 길이 벡터로 변환한다. 이 논문에서 고정길이 벡터가 기본적인 encoder-decoder 구조의 아키테쳐의 성능향상을 방해한다고 가정했다. 그리고 target과 관련있는 source sentence의 부분을 자동적으로 찾아내게하는 모델을 제시한다. Introduction 기존의 encoder-decoder방식의 문제점은 고정길이 벡터에 source sentence의 모든 정보를 담아야하는 것이고,.. 2022. 2. 9.
[Pytorch] 작물 잎 분류 non Pre_trained model 1. 파일 분할 각 클래스에 해당하는 이미지 파일들은 다음과 같이 dataset 폴더 내에 각각의 클래스 이름의 폴더 내에 저장되어있습니다. 따라서 각 클래스별로 비율을 같게 학습, 검증, 시험 데이터로 분할해줍니다. import os import shutil origin = "/content/drive/MyDrive/pytorch project/작물 잎 분류/dataset" base = "/content/drive/MyDrive/pytorch project/작물 잎 분류/splitted" clss_list = os.listdir(origin) os.mkdir(base) train_dir = os.path.join(base, "train") val_dir = os.path.. 2022. 2. 6.
[Deeplearning Part.8-4] GRU GRU 이전 글에서 게이트가 추가된 RNN으로 LSTM에 대한 글을 썼었는데, GRU는 이 게이트를 쓴다는 개념은 유지하고, 매개변수를 줄여 계산 시간을 줄여줍니다. LSTM과 비교해보면, 기억 셀을 사용하지 않고 은닉 상태만을 사용합니다. 게이트를 추가하기 전까진, 기본적인 RNN과 같은 모습입니다. GRU에는 r과 z라는 두 개의 게이트를 사용하는데 r은 reset, z는 update게이트입니다. LSTM에 비해 게이트 수가 줄었고, 기억 셀을 사용하지 않는다는 점에서 파라미터 수와 연산량이 확실히 줄 것 같다는 생각입니다! 그리고 reset과 update라는 정말 필요한 게이트만을 설정해준 느낌입니다. 우선 reset게이트는 과거에서 흘러온 은닉 상태를 얼마나 무시할지 정합니다. 한편, update.. 2022. 1. 25.
[Deeplearning Part.8-3] seq2seq seq2seq seq2seq모델은 시계열 데이터를 다른 시계열 데이터로 변환하는 모델입니다. 시계열 데이터의 변환을 예를 들면 특정 언어의 문장을 다른 언어의 문장으로 번역하는 과정을 들 수 있습니다. 또한 seq2seq모델은 Encoder-Decoder 모델이라고도 하는데, 이름처럼 input을 인코딩하고, 인코딩된 데이터를 다시 디코딩하는 과정을 거칩니다. "나는 고양이로소이다"라는 한글 문장을 "I am a cat"으로 변환(번역)하는 경우로 예를 들어 보겠습니다. seq2seq의 Encoder LSTM모델에 한 문장을 넣는 경우를 생각해보겠습니다. 위 모델이 출력하는 h는 LSTM계층의 마지막 은닉 상태인데, 이 h에 입력된 문장을 번역하는데 필요한 정보가 인코딩됩니다. 겉으로 보면 "나는 고양이.. 2022. 1. 25.
[Deeplearning Part. 8-2] LSTM 기본 구조의 RNN의 문제점 1. 기울기 소실 기울기 소실의 원인은 tanh함수입니다. tanh는 ouput의 절대값이 1보다 작아 역전파 시 기울기가 소실될 수 있습니다. 이 문제 때문에 기본 DNN모델이나 CNN에서 활성화함수로 sigmoid를 ReLU로 대체하는 것을 알 수 있었습니다. 2. 기울기 폭발(소실 포함) 기울기 폭발의 원인은 가중치 행렬과의 행렬곱입니다. W라는 가중치는 모든 시점에서 공유되는데, 자세한 부분은 https://yjjo.tistory.com/15를 참고하면 좋을 것 같습니다. W라는 가중치가 모든 시점에서 공유되기 때문에, 역전파가 하류로 갈수록 W의 전치가 계속해서 곱해져갑니다. 이 때, 행렬의 특잇값이 1보다 크다면 제곱 할수록 계속해서 커져 기울기 폭발이 일어납니다... 2022. 1. 25.
[Deeplearning Part.8-1] RNN 기본구조 이 전에 알아본 Word2vec의 CBOW모델을 다시보면, 맥락 안의 단어 순서가 무시된다는 단점이 있습니다. 예시로 나온 문장 중 say에 대한 윈도우는 "you say goodbye"가 되는데, 이는 (you, say)와 (say, you)를 같은 맥락으로 취급합니다. 따라서 맥락 내의 단어 순서도 고려한 모델이 바람직한데, 여기서 등장하는 것이 순환 신경망(Recursive Neural Network)입니다. RNN t는 각 단어의 순서를 기준으로 인덱싱 한 숫자입니다. 우변을 좌변처럼 하나의 계층으로 본다면 RNN으로 표시된 사각형의 층을 지나서 나온 output이 계속해서 다시 RNN계층으로 들어가게 됩니다. 따라서 값이 계속 순환하고 있습니다! RNN한 계층의 계산수식을 보면, 이전 RNN계층.. 2022. 1. 24.