목록전체 글 (40)
Zorba blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnVmSO/btrI1V9PQRw/J0wx5b7JWkJ2FdpzctIyH0/img.png)
CNN의 등장 배경 전연결 신경망(Fully Connected Neural Network, FCNN)의 한계 - Fully Connected Layer 만으로 구성된 인공 신경망의 입력 데이터는 1차원 배열 형태로 한정. - 한 장의 컬러 사진은 RGB 값을 갖는 3차원 배열, 배치 모드에 사용되는 여러 장의 사진은 4차원 배열 형태. - Image Data로 전연결 신경망을 학습시켜야 할 경우 3차원 데이터를 1차원으로 평면화 시키는 과정이 선행되어야 함. - 이 과정에서 공간 정보가 손실, 특징 추출과 학습이 비효율적. - 이미지의 공간 정보를 유지한 상태로 학습이 가능한 모델의 필요성이 대두되어 합성곱 신경망이 탄생. - CNN(Convolutional Neural Network)은 기존의 FCNN..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vGsnG/btrI1P2ERvC/owgJiS8XFDQQkKLhbRfQJ0/img.png)
RNN의 등장배경 피드포워드 신경망의 문제점 - 단방향인 신경망이기 때문에 구성이 단순하여 구조를 이해하기 쉽고, 많은 문제에 응용할 수 있다는 장점이 있지만 - 시계열 데이터를 잘 다루지 못한다는 단점이 있음 -> 그래서 순환 신경망(RNN) 이 등장. RNN(순환신경망) 이란 순환하는 신경망 - RNN의 특징은 순환하는 경로가 있다는 것. - 이 순환 경로를 따라 데이터는 끊임없이 순환. - 데이터가 순환되기 때문에 과거의 정보를 기억하는 동시에 최신 데이터로 갱신될 수 있음. 순환 구조 펼치기 - RNN 계층의 순환 구조를 펼침으로써 오른쪽으로 진행하는 피드포워드 신경망과 같은 구조. - RNN에서는 다수의 RNN 계층 모두가 실제로는 '같은 계층'인 것이 피드포워드 신경망과의 차이점. - 각 시각..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b70sEN/btrIY046p4F/KdEzemnHY19sPKbklx3x01/img.png)
LSTM의 등장배경 게이트가 추가된 RNN - RNN은 순환 경로를 포함하여 과거의 정보를 기억할 수 있음. - 구조가 단순하여 구현은 쉽지만 안타깝게도 성능이 좋지 않음. - 그 원인은 시간적으로 많이 떨어진 장기 의존 관계를 잘 학습할 수 없다는 데 있음. -> 따라서, 요즘에는 단순한 RNN 대신 LSTM이나 GRU라는 계층이 주로 쓰임. - LSTM이나 GRU에는 게이트라는 구조가 더해져 있는데, 이 게이트 덕분에 시계열 데이터의 장기 의존 관계를 학습할 수 있음. Tom was watching TV in his room. Mary came into the room. Mary said hi to ? "?" 에 들어가는 단어는 "Tom" 이다. RNN에서 이 문제에 올바르게 답하려면, 현재 맥락에서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bdK0OH/btrI2wocjsq/fe7mtCy6cAYbJ80WbZ2Kuk/img.png)
1. 자연어 계산과 이해 - 임베딩에 자연어의 의미를 함축해 넣으려면, 자연어의 통계적 패턴 정보를 통째로 집어넣으면 된다. 구분 Bag of Words 가정 언어 모델 분포 가정 내용 어떤 단어가 많이 쓰였는가 단어가 어떤 순서로 쓰였는가 어떤 단어가 같이 쓰였는가 대표 통계량 TF-IDF - PMI 대표 모델 Deep Averaging Network ELMo, BERT Word2Vec 2. 어떤 단어가 많이 쓰였는가 1) Bag of Words 가정 - "저자가 생각한 주제가 문서에서의 단어 사용에 녹아 있다"는 가정 - Bag은 중복 원소를 허용한 집합. - 단어의 등장 순서에 관계없이 문서 내 단어의 등장 빈도를 임베딩으로 쓰는 기법. - 간단한 방법이지만 정보 거색 분야에서 여전히 많이 쓰이고 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nfZhx/btrI3uDqq5Z/ALQUo29mkqZJp9AnI8MbP1/img.png)
1. 임베딩이란 - 사람이 쓰는 자연어를 기계가 이해할 수 있는 숫자의 나열인 벡터(Vector)로 바꾼 결과, 또는 그 일련의 과정. - 단어나 문장 각각을 벡터로 변환하여 벡터 공간(Vector Space)으로 끼워 넣는다(embed)는 의미 가장 간단한 형태의 임베딩 -> 단어의 빈도를 그대로 벡터로 사용하는 것. 2. 임베딩의 역할 1) 단어-문장 간 관련도 계산 - 단어-문서 행렬은 가장 단순한 형태의 임베딩. - 현업에서는 이보다 복잡한 형태의 임베딩 사용(Word2Vec, Google. 2013.) ex. '희망'이라는 단어의 Word2Vec 임베딩 [-0.00209, -0.03918, 0.02419 ... 0.01715, -0.04975, 0.09300] - 이처럼 단어를 수치화하면 단어 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmcKM6/btrI2YLwpEN/AEgB6J13nP10fAggpQtScK/img.png)
한국어 음성인식을 공부하기위해 이곳저곳 찾아보다가 아래 Git에 논문 및 공부자료들이 잘 정리되어 있어 그중 한 논문을 리뷰하였다. https://github.com/sooftware/Speech-Recognition-Tutorial/blob/master/paper-review/A%20Simple%20Data%20Augmentation%20Method%20for%20Automatic%20Speech%20Recognition.md GitHub - sooftware/Speech-Recognition-Tutorial: 한국어 음성인식 튜토리얼 한국어 음성인식 튜토리얼. Contribute to sooftware/Speech-Recognition-Tutorial development by creating an ..
화자 인식(Speaker Recognition) 기술은 아래 두 가지로 나누어집니다. 1) 화자 식별(Speaker Identification) - 주어진 발언으로부터 해당하는 화자(인물)을 찾아내는 기술 - 등록된 N명의 화자 중 가장 유사한 1명을 찾는 기술. - 유사도를 계산하여 가장 높은 유사도를 가진 화자를 선택. - 미등록 화자를 거부하는 문제는 다루지 않고, 미등록 화자의 경우 식별을 실패한다는 문제가 있음. 2) 화자 확인, 검증(Speaker Verification) - 주어진 발언이 시스템에 등록된 사용자들의 목소리 중에 있는지 검증하는 기술. - 지정된 대상 화자가 맞다면 승인 - 유사도 점수가 임계치 이상이면 승인. 문장 종속(Text Dependent) - 등록 / 테스트 발성의 ..
Gradient Descent - Neural Network의 weight을 조절하는 과정에는 보통 "Gradient Descent" 라는 방법을 사용함. - 네트워크에서 내놓는 결과값과 실제 결과값 사이의 차이를 정의하는 함수 Loss function J() - J()를 최소화하기 위해 기울기를 이용하는 방법을 Gradient Descent라 함. - 한 Interation 에서의 변화 식은 다음과 같음. 사진 - J() 앞에 붙은 에타(n)은 미리 정해진 step size로 learning rate로 불림. - 보통 0.01~0.001 정도의 적당한 크기를 사용. - Loss Function을 계산할 때 전체 train set을 사용하는 것을 Batch Gradient Descent 라고 함. - 이..
Ensemble Classifier Notation - 앙상블 분류기는 학습 데이터를 사용하여 여러 개의 서로 다른 분류기를 만들고, - 이들 분류기의 판정 결과를 투표방식이나 가중치 투표 방식으로 결합하여, - 최종 부류를 결정하는 분류기 이다. 배깅 알고리즘(Bagging, Bootstrap AGGregatING) Bootstrap 기법 - 주어진 학습 데이터 집합으로부터 복원추출을 하여 여러 개의 서로 다른 학습 데이터 집합을 만들어내는 기법 Bagging - 부트스트랩을 통해 만들어진 각 학습 데이터로부터 집합별로 분류기를 만들고, 투표나 가중치 투표를 하여 최종 판정을 하는 방법. Random Forest - 분류기로 결정트리를 사용하는 배깅 기법. - 결정트리를 만들어가는 과정에서 분할 속성을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lBSSZ/btrFrdL8zVX/hPrCkv7xSetjM36A4651C1/img.png)
ELMo and BERT - 언어 모델의 성능 향상을 위하여 모델의 가장 핵심이라 할 수 있는 워드 임베딩(Word Embedding) 방식을 개선하려는 시도가 있었음. - 2018년, ELMo와 BERT가 제안되며 NLP(Natural Language Processing) 분야의 트렌드를 주도함. 기존 Word Embedding 방식의 문제점 - 주변 맥락 단어를 학습할 때만 고려하고, 이렇게 생성된 어휘 임베딩을 다른 모델의 입력으로 사용하는 상황은 가정하지 않음. - 즉, 학습이 완료된 후 어휘 임베딩 값은 불변. - 실제로 사용되는 어휘의 의미는 맥락에 따라 가변적임. "나는 머리를 끄덕였다." "나는 머리를 다시 잘랐다." "나는 머리가 좋아서 공부를 잘 한다." - 기존 임베딩 방식은 위의 세..