인공지능 AI

    [논문리뷰/NLP] ALBERT: A LITE BERT FOR SELF-SUPERVISEDLEARNING OF LANGUAGE REPRESENTATIONS

    https://arxiv.org/pdf/1909.11942.pdf Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, Radu Soricut Abstract 논문선정이유 Introduction Related Work Scaling up Representation Learning for Natural Language Cross-Layer Parameter Sharing Sentence Ordering Objectives The Elements of ALBERT Factorized embedding parameterization. Cross-layer parameter sharing, Inter-sentence coheren..

    [논문리뷰/NLP] ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation

    ERNIE 3.0: LARGE-SCALE KNOWLEDGE ENHANCED PRE-TRAINING FOR LANGUAGE UNDERSTANDING AND GENERATION https://arxiv.org/abs/2107.02137 ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation Pre-trained models have achieved state-of-the-art results in various Natural Language Processing (NLP) tasks. Recent works such as T5 and GPT-3 have shown that scaling up ..

    [논문리뷰/NLP] ERNIE: Enhanced Language Representation with Informative Entities

    paper link: https://arxiv.org/pdf/1905.07129.pdf Abstract: Neural language representation models such as BERT pre-trained on large-scale corpora can well capture rich semantic patterns from plain text, and be fine-tuned to consistently improve the performance of various NLP tasks. However, the existing pre-trained language models rarely consider incorporating knowledge graphs (KGs), which can pr..

    [논문리뷰/NLP] Distilling the Knowledge in a Neural Network

    Distilling the Knowledge in a Neural Network Geoffrey Hinton, Oriol Vinyals, Jeff Dean #NIPS 2014 Deep Learning Workshop 논문선정이유 모델링 경량화 작업을 공부하기 위해 읽었던 사전의 DistilBERT 논문이 차용한 논문이다. Knowledge Distillation에 대해 처음으로 소개하는 논문이다. Teacher model과 Student model이라는 개념을 제시했다. Abstract A very simple way to improve the performance of almost any machine learning algorithm is to train many different models on ..

    [논문리뷰/NLP] DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter

    Victor SANH, Lysandre DEBUT, Julien CHAUMOND, Thomas WOLF Hugging Face {victor,lysandre,julien,thomas}@huggingface.co 📎paper link: DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter 논문 선정 이유 모델 경량화 관련하여 참고하고 공부하기 위해서 Abstract large-scale pre-trained 모델들로 Transfer Learning이 일반화된 NLP. 더 낮은 비용의 언어 모델링으로 사전학습을 하는 방법 제안. We reduce the size of a BERT model by 40%, while reta..

    [AI/머신러닝] 머신러닝 분류모델 평가지표(Confusion Matrix, Accuracy, Precision, Recall, F1 Score)

    Confusion Matrix (오차행렬) 실제 참 실제 거짓 예측 참 True Positive False Postive 예측 거짓 False Negative True Negative Accuracy (정확도) \[\frac{TP+TN}{TP+FP+TN+FN} \] Precision (정밀도) 분류기가 참으로 분류한 결과(예측) 중에서 실제 참의 비율 'Precision'의 'P'를 따와서 positive이 분모라고 생각하면 쉽다. \[\frac{TP}{TP+FP} \] Recall (재현율) 실제 참 중에서 분류기가 참으로 분류한 비율 실제 참인 데이터에서 분류가 제대로 된 비율이다. 'Recall' -> 'R'eal Positive이 분모에 들어간다. \[\frac{TP}{TP+FN} \] F1 Sc..

    [통계학]Confidence Interval(신뢰구간)/t-value/p-value

    (가설검정) 전체 표본집단에서, random samples를 사용하여 test한다. ex) 대표적 예시는 소금물의 온도다. > -가설(Hypothesis): 소금물의 어는점은 0이 아니다. > -표본집단(Whole Population): 어는 소금물 > -Random samples: 어는 소금물의 실험 Hypothesis Test Null Hypothesis: H0: 어는점=0, 소금물의 어는 점은 0이다.(Null distribution: Null hypothesis가 참이면 해당 표본집단) Alternative Hypothesis: HA: 어는점≠0, 소금물의 어는점은 0이 아니다. null hypothesis에 따라서 reject or not-reject 한다. Significance Level: ..

    [논문리뷰] Transformer_Attention is all you need(NIPS 2017)

    기존의 RNN과 CNN 아키텍처의 단점들을 보완하여 등장한 새로운 혜성 같은 모델, Attention Sequential한 특징을 가지는 Recurrent 모델들과 다르게 병렬 처리가 가능하다. 모델 아키텍처 Encoder와 Decoder로 이루어져있다. Encoder 레이어(층)끼리 임베딩 sub-layer 등 모든 차원을 512로 통일. Stage1_out = Embedding512 + TokenPositionEncoding512 #w2v결과 + pos정보 Stage2_out = layer_normalization(multihead_attention(Stage1_out) + Stage1_out) Stage3_out = layer_normalization(FFN(Stage2_out) + Stage2_o..

    [인공지능/AI]Few-shot Learning in NLP(자연어처리)

    Few-shot Learning 개념 메타 학습에서 나온 갈래로, "Learn to learn"으로 일컫는다. 적은 데이터와 적은 연산으로 학습을 진행한다. 대량의 데이터로 학습하는 일반적 딥러닝 방법론과 다르게, Few-shot Learning은 고양이, 개와 같은 동물 사진 몇개를 가지고 처음 보는 사진의 동물을 분류해냅니다. Few-shot Learning은 Training set, Support set, Query image를 필요로 한다. Training set으로 구분하는 법을 배우고, Query image를 인풋으로 Support set 중 어떤 것과 같은 종류인지 분류한다. 즉 Query image가 Support set과 같은지 다른 종류인지 판단하는 것. 하지만 Few-shot Lear..

    [논문리뷰]Generative Pretraining from Pixels_ImageGPT/OpenAIGPT/이미지GPT

    [Chen et al. 2020] Generative Pretraining from Pixels 2020, ICML 논문 기재 자연어처리로 유명한 OpenAIGPT를 만든 회사, OpenAI에서 쓴 논문입니다. 자연어처리에서 사용하는 GPT모델을 이미지에도 사용하였다는 신기한 내용의 논문이라서 읽어보고 리뷰해보았습니다. 'NLP의 단어들 = 이미지 픽셀' 이라고 생각하고 처리하였다고 보시면 됩니다. 자연어처리에서 단어들로 빈칸을 예측하여 채웠듯, 이미지 픽셀로 채운 것입니다. "이미지GPT(Image GPT)"로 알려진 논문입니다. GPT-3는 자연어처리에서 소설 쓰기, 이메일 답장, 가계부 완성, 자동 웹페이지 작성 등의 작업을 할 수 있다고 합니다. 이를 이미지에도 적용시킨 것이 재밌어서 리뷰해보았습..

    [인공지능/AI/NLP/자연어처리]BERT Neural Network 언어모델 쉽고 간단한 설명

    구글이 소개한 자연어처리 언어모델 BERT를 간단하고 쉽게 구조를 설명해보았습니다. LSTM vs TransformerTransformer는 기존 RNN과 LSTM 문제를 해결하기 위해 등장하였다. LSTM은 학습이 너무 느렸고, bidirectional하지 못하다는 단점이 있다. 하지만 Transformer는 학습이 빠르고 simultaneously하게 deeply bidirectional하다. 트랜스포머 모델은 encoder과 decoder로 구조가 이루어져있고 예를 들어, 영어->한국어로 번역작업을 한다면 encoder는 “My dog is called Henry.”라는 문장 단어들을 simultaneous하게 받아서 각 단어들의 임베딩을 simultaneously하게 작업한다. decoder는 이..

    [인공지능/AI] Hyperparameter Tuning (Optimization) 하이퍼파라미터 튜닝 (최적화)

    Hyperparameter? 하이퍼파라미터는 머신러닝 모델의 성능을 향상하기 위한 것이다. 기존 변수가 아니라 자동 설정되는 변수다. 최적화하여 모델의 에러를 줄이는 등 머신러닝 학습 성능을 향상시킨다. 종류들로는 두 가지 관점에서 볼 수 있는데 model related와 optimization related의 관점이 있다. Model Related Number of hidden layer MLP에는 ~10개 층(2,3개 넘어가면 효율이 굳이 더 좋아지는 것 같진 않다.) 최근 CNN에는 ~152, ~1000 개 층까지 학습이 된다. Number of hidden unit ~1024 정도 층까지 시도해볼 수 있다. Activation Function sigmoid와 tanh는 gradient vanish..

    [인공지능/AI] Cross Entropy 크로스 엔트로피

    인공지능 관련 공부를 하거나 논문을 보면 기본적으로 항상 등장하는 개념으로 loss function(손실함수)와 cross entropy 등이 있습니다. 무엇인지 어렴풋이는 알아도 정확하게 자세히 알고 있지 않다면 이 글을 참고하시기 바랍니다.Entropy 엔트로피Entropy라는 것은 불확실성(uncertainty)에 대한 척도다. 즉, 엔트로피를 이용해서 불확실성을 줄이고자 하는 것이다. 가장 대표적인 예시로 가방에서 공 꺼내기이다. 공 안에 빨간공으로만 가득하다면 엔트로피=0이다. 불확실성을 신경 쓸 필요가 없다 이 경우엔. 하지만 만약 검은공과 빨간공이 절반씩 담겨있다면 엔트로피는 log(2)=0.69다. 사건 개수가 n이라면 entropy는 log(n)이다. 이 경우엔 entropy가 크다고 말..

    [논문리뷰/NLP] Pre-training of Deep Bidirectional Transformers for Language Understanding

    구글이 2019년 발표한 BERT 논문을 리뷰하였습니다. Abstract BERT는 Bidirectional Encoder Representations from Transformers 를 뜻하고 다른 LM(language model)들과 달리, 모든 층의 left and right (bidirectional) 방향으로 pretrain합니다. 먼저 pretrained language model을 설명하자면, 두 가지로 나뉩니다. feature-based와 fine-tuning. feature-based 방식엔 대표적으로 ELMo가 있고, pre-trained representations를 추가해서 task-specific 구조를 사용합니다. fine-tuning방식은 대표적으로 OpenAI GPT가 있고,..

    [인공지능/딥러닝/AI] CNN 아키텍처기반의 MNIST 수행하기

    콘볼루션층 3개와 완전연결층 1개로 구성된 CNN 아키텍처로 MNIST 검증을 해보도록 하겠습니다. CNN 아키텍처 구현을 위한 텐서플로 API는 다음과 같습니다 콘볼루션(convolution) 연산 수행 API tf.nn.conv2d(input, filter, strides, padding) input: 입력 데이터이며 [batch, in_height, in_width, in_channels] 의 모양입니다. 예를 들어 100개의 배치로 묶은 28x28 크기의 흑백 이미지를 입력으로 넣은 경우, [100, 28, 28, 1] 형태입니다. filter: 콘볼루션 연산에 적용하는 필터이며 [filter_height, filter_width, in_channels, out_channels] 모양입니다. 필터..

    [인공지능/딥러닝/AI] 합성곱 신경망 CNN(Convolutional Neural Network)

    CNN은 딥러닝을 적용하는 거의 모든 분야에서 사용이 되고 있습니다. 특히 이미지 인식 분야에서는 정확한 성능으로 인해 가장 많이 사용되고 있습니다. 일반 신경망 아키텍처와 CNN 아키텍처의 차이 2020/08/26 - [인공지능 AI] - [인공지능/AI]텐서플로를 이용한 MNIST 딥러닝학습 이전 게시글에서 공부했던 일반 신경망 아키텍처는 입력층,은닉층,출력층으로 이루어져 1. 입력데이터에 대해 2. 피드포워드를 수행하여 출력값 계산하고, 3. 정답T와 출력값을 비교하며 cross-entropy 손실함수 값을 구해서 4.최소가 될 때까지 오차역전파를 이용해 값을 최적화해갑니다. 하지만 합성곱 신경망 CNN 아키텍처는 위 일반신경망의 은닉층 부분이 1개 이상의 콘벌루션층(Convolutional Lay..

    [인공지능/AI]텐서플로를 이용한 MNIST 딥러닝학습

    2020/06/06 - [인공지능 AI] - [딥러닝/인공지능]MNIST(필기체 손글씨) 이전 게시글에서 MNIST를 다루었는데요, 족히 19시간 이상은 걸렸습니다.. 이렇게 긴 학습 시간이 걸린다면 상당히 비효율적이겠죠 하지만 텐서플로를 이용하여 학습시간을 훨씬 단축시켜줄 수 있습니다! 딥러닝 기본아키텍처와 텐서플로기반 아키텍처의 차이 딥러닝 기본적인 아키텍처는 1. 입력데이터 X와 T를 입력층으로 보내주고 2. 피드 포워드 수행하여 시그모이드 함수 값으로 출력층의 출력 값 y를 계산하고 3. 출력층 출력 값 y와 정답 T를 비교해서 4. 손실함수가 최소가 될 때까지 가중치와 바이어스를 업데이트하는 구조였습니다. 하지만 텐서플로 기반의 딥러닝 아키텍처는 은닉층에서 활성화 함수로 시그모이드 함수가 아닌 ..

    Tensorflow(텐서플로우) 설치와 기초

    지금까지는 파이썬으로만 설계와 구현을 해왔는데요 합성곱신경망(CNN), 순환신경망(RNN)등의 동작 알고리즘은 복잡하고 코드도 방대하기 때문에 파이썬만으로는 무리가 있습니다. 따라서 텐서플로우의 기본을 알아보고 설치를 해보도록 하겠습니다. 텐서플로우는 구글에서 개발하고 공개한 딥러닝 프레임워크이고, C++ Java 등 많이 지원하지만 Python에 가장 최적화되어있다고 할 수 있습니다. 텐서플로우 설치 pip install tensorflow pip install 기능을 사용하여 쉽게 설치할 수 있습니다. 만약에 설치할 때 에러가 나는 경우 python -m pip install --upgrade pip pip버전을 업그레이드 한 후 pip install --ignore-installed --upgrad..

    [딥러닝/인공지능] 오차역전파(Back Propagation)

    이전에 배운 MNIST 알고리즘은 학습시간 평균 20시간 이상이다. 결코 좋은 알고리즘이 아니다.. 수치미분을 통해 수행한 MNIST는 은닉층 노드개수를 정확도높이기위해 증가할수록 학습시간이 엄청나게 소요된다. 이 단점을 해결하기 위해 나온 알고리즘이 바로 오차역전파다. 오차역전파는 딥러닝의 꽃이다. 체인룰에 의해서 분해되어 1,2,3 등 국소적인미분의 곱셈 형태로 나타낼 수 있다. 즉, 편미분식을 그대로 계산하는 것이 아니라 체인룰을 적용하여 국소미분으로 분리한 다음, 분리된 국소미분을 계산하기 쉬운 형태의 수학공식으로 나타내는 것을 오차역전파라고 한다. 은닉층 오차역전파공식은 (E1나 E2중 하나에게만 영향받는) 출력층과 다르게 E1와 E2에게 모두 영향을 받는다.

    [딥러닝/인공지능]MNIST(필기체 손글씨)

    딥러닝구조를 이용하여 MNIST, 즉 필기체손글씨를 인식할 수 있습니다. np.loadtxt()함수를 이용하여 트레이닝데이터행렬을 만들 수 있습니다. Train Data Set 과 Test Data Set 을 활용해보겠습니다. 학습데이터인 Train Data Set에는 총 6만개의 이미지데이터가 있습니다. 하나의 이미지는 28*28개로 총 784개의 숫자로 이루어져 있습니다. 위 Train Data Set 파일에서 처음 5라는 숫자는 정답 숫자에 대한 정보이고 그 이후로 784개의 숫자가 이미지를 나타내는 정보입니다. 픽셀 하나의 밝기값이라고 볼 수 있습니다. 0에 가까울수록 검은색이고 255에 가까울수록 밝은(흰)색입니다. 학습데이터에서는 하나의 이미지가 784개의 숫자를 가진 1차원 배열로 표현되지만..