본문 바로가기

Machine-Learning51

[GAN] GAN (Generative Adversarial Network) 이란? GAN (Generative Adversarial Network) 이란? ‘Adversarial’이란 단어의 사전적 의미를 보면 대립하는, 적대하는 뜻을 갖는다. 이렇게 적대/대립을 하려면 상대방이 있어야 가능하다는 것을 크게 두 부분으로 나누어져 있다는 것을 알 수 있다 GAN은 다양한 노이즈 (Noise) 입력을 받아 원하는 카테고리의 기존에 존재하지 않는 새로운 이미지를 생성하는 생성(Generative) 네트워크와 생성된 이미지가 가까인지 진짜인지를 판별하는 판별(Discriminative) 네트워크를 적대적으로 (Adversarial) 학습시키며, 입력 이미지나 비디오를 다른 형태나 정보를 지닌 이미지나 비디오를 다른 형태나 정보를 지닌 이미지 또는 비디오로 변환하는 모델이다. 예를들어 두 모델.. 2022. 11. 29.
[paper] Mask RCNN Mask RCNN - 별도의 FCN을 ConV Feature Map 다음에 연결해 binary mask 생성 - mask prediction 과 Class predicction의 decouple 정확도 향상 - Faster RCNN과 크게 다르지 않는 구조로써 mask branch, FPN, 그리고 RoI Align 추가 - RPN 전에 FPN (Feature pyramid network)가 추가 - image segmenation 의 masking 위해 RoI align이 RoI Pooling을 대신하게 됐다 Abstract Mask RCNN은 개념적으로 Object instance Segmentation 을 위한 단순하고, 유연한 일반적인 frame work이다. 이것은 각각의 인스턴스를 위해서 하나.. 2022. 11. 24.
[NLP] BERT 의 이해 BERT (Bidirectional Encoder Representations from Transformer) 2018년도에 구글에서 공개한 사전 훈련된 모델이다. BERT라는 이름은 세서미 스트리트 라는 미국 인형극의 캐릭터 이름이기도 한데, 앞서 소개한 임베딩 방법론 ELMO와 마찬가지로 세서미 스트리트의 캐릭터 이름을 따온 것이기도 한다 BERT는 트렌스포머를 이용하여 구현되었으며, 위키피디아 25억 단어 BooksCorpus 8억 단어와 같은 레이블이 없는 텍스트 데이터를 사전 훈련된 언어 모델이다. BERT가 높은 성능을 얻을 수 있었던 것은 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고, 레이블이 있는 다른 작업(Task)에서 추가 훈련과 함께 하이퍼 파라미터를 재조정하여 이 모델을.. 2022. 11. 19.
[ML] k-최근접 이웃 (K-Nearest Neighbor) k-최근접 이웃 (K-Nearest Neighbor) k 최근접 이웃 (K-Nearest-Neighbor, KNN)은 이름에서 알수 있듯, 비교 대상이 되는 데이터 포인트 주변에 가장 가까이 존재하는 k개의 데이터와 비교해 가장 가까운 데이터 종류로 판별한다. 예를 들어, 과일 데이터를 구분할 때, 데이터 포인트 주변의 3개의 값을 비교한다고 가정하면, 데이터 주변의 반경 (circle)으로 표시하고 원 내부의 데이터와 비교해 분류하는 것이다. 데이터 주변의 가장 가까운 데이터를 판별하게 되며, 가장 많이 존재하는 것을분류하는 것이다. k 최근접 이웃은 k의 값에 다라서 분류가 달라진다 만일, 타깃이 연속형 숫자라면 kNN은 k개의 데이터의 평균 값으로 에측하는 방법을 사용한다. 에를 들어 타깃 변수가 .. 2022. 11. 19.
[CV] One-Stage와 Two-Stage 차이 One-Stage와 Two-Stage는 객체 감지(object detection) 모델의 접근 방식에 대한 용어로 사용됩니다. One-Stage Detectors One-Stage Detectors는 한 번의 단계로 객체의 경계 상자(bounding box)와 클래스 레이블(class label)을 직접적으로 예측하는 모델입니다.이러한 모델은 일반적으로 입력 이미지 전체에 대해 여러 위치와 스케일에서 밀집 그리드(grid) 또는 제안(proposal)를 사용합니다. 앵커(anchor) 또는 제안에 대해 동시에 분류(classification)와 회귀(regression) 작업을 수행하여 최종 감지 결과를 예측합니다. 대표적인 One-Stage Detectors로는 YOLO (You Only Look On.. 2022. 11. 16.
[NLP] Transforemr decoder 이해 트랜스포머 디코더 이해 영어 (입력 문장) 'I am good'을 입력하면 프랑스어 (타킷 문장) 'je vais bien'을 생성하는 번역기를 만든다고 가정하자. 번역기를 만들려면 먼저 입력 문장인 'I am good'을 인코더에 입력해야 한다. 인코더는 임력 문장의 표현 학습한다. 인코더의 입력 결과값을 가져와서 디코더에 입력값으로 사용하며, 디코더는 다음과 같은 그림으로 인코더의 표현을 입력값으로 사용하고 타깃 문장인 'je vais bien' 을 생성한다. 인코더 부분을 다룰 때 인코더 N개를 누적해서 쌓을 수 있다는 것을 배웠다. 인코더와 유사하게 디코더 역시 N개를 누적해서 쌓을 수 있다. N=2로 예를 들어보면 표시된 것처럼 하나의 디코더 출력 값은 그 위에 있는 디코더의 입력 값으로 전송된.. 2022. 11. 15.
[이상치] Anomaly Detection Overview Anomaly Detection 이상 징후 탐지는 알고리즘을 이용해서 이상 징후인 특정 데이터나 데이터 패턴을 식별하는 과정이다. 이상 징후 탐지에는 특이값 탐지, 잡음 제거 및 이상값 탐지 작업이 밀접하게 관련되어 있다. 특이값 탐지 (Outlier Detection) 특이값 감지는 지정된 데이터 집합 내에서 비정상적인 특이값 탐지를 목표로 하는 기술이다. 특이값 감지 상황에 적용할 수 있는 세 가지 방법은 높은 재구성 오류를 이용하여 이상 징후를 식별하기 위해서 정상 데이터로만 훈련하거나, 실제로 매우 낮은 확률과의 연관성에 기초하여 이상 징후가 식별되는 확률 분포를 모델링하거나, 또는 이상 징후 데이터 포인트의 모양과 정상적인 데이터 포인트의 모양을 학습하여 이상 징후를 인식하도록 모델을 훈련시키는.. 2022. 11. 10.
[NLP] 멀티 헤드 어텐션(multi-head attention) 원리 멀티 헤드 어텐션 원리 어텐션을 사용할 때 헤드 한 개만 사용한 형태가 아닌 헤드 여러개를 사용한 어텐션 구조도 사용할 수 있다. 어텐션 행렬이 아닌 다중 어텐션 행렬을 계산해보자. All is well이라는 문장으로 예를 들어보자. 단어 well의 셀프 어텐션을 계산한다고 하자. 계산 결과 다음과 같은 결과를 얻었다고 가정하자 위의 그림에서 볼 수 있듯이 단어 'well' 의 셀프 벡터 값은 가중치를 적용한 각 단어의 벡터 값의 합임을 알 수 있다. 단어 'well'의 벡터값은 단어 'All' 이 가장 우세하게 작용하는 것을 알 수 있다. 즉, 단어 'well'의 벡터값은 단어 'All'의 벡터값에 0.6을 곱한 값과, 단어 'well'의 벡터값에 0.4를 곱한 결과를 합한 것이다. 이는 단어 'All.. 2022. 11. 6.
[NLP] Transforemr - 피드포워드, add와 Norm 피드포워드 네트워크 (Feed-Forward Networks) 2개의 전 결합층 (dense layer)과 ReLU 활성화 함수로 구성 피드 포워드 네트워크의 변수는 문장의 다른 위치에서는 동일하고 인코더 블럭에서는 다르게 나타낸다 add와 norm 요소 인코더에서 중요한 요소 중 하나는 바로 add와 norm 관련 부분이다. 이 부분은 서브레이어의 입력과 출력 부분에 연결되어 있다. - 서브레이어에서 멀티헤드 어텐션의 입력값과 출력값은 서로 연결한다 - 서브레이어에서 피드포워드의 입력값과 출력값을 서로 연결한다 add와 norm 요소는 기본적으로 레이어 정규화 (layer normalization)의 잔차 연결 (residual connection)이다 Residual Connection 특정 레이어를.. 2022. 11. 6.