머신러닝 17

머신러닝 기본

데이터 준비 모델을 학습시키기 위해선 좋은 데이터 셋이 필요합니다. 좋은 데이터 셋을 확보한 뒤 여러 feature engineering을 거쳐 최종 데이터 셋 준비가 됬다면 이제 데이터 셋을 학습 / 검증 / 평가 3 그룹으로 나누어야 합니다. 여기서 학습 세트 (Training Set)이 모델이 직접 학습하는데 사용될 데이터이며 검증 세트 (Validation Set)은 모델의 학습 과정에서 하이퍼 파라미터 등 모델의 성능 향상 및 최적화를 위해 검증용으로 사용됩니다. 마지막으로 평가 세트 (Test Set)은 학습이 완료된 모델의 최종 성능을 평가하는데 사용됩니다. 총 데이터 셋의 양에 의해서 3 그룹의 비율을 정하게 되는데 보통 아래의 기준으로 나누어 사용되고 있습니다. 작은 데이터 셋 (몇 만개..

AI / 머신러닝 / 딥러닝

Artificial Intelligence 인간의 학습능력, 추론능력, 지각능력을에 인공적으로 구현하려는 컴퓨터과학의 세부분야 - 위키백과 A program that can think like human or act rationally - Russell & Norvig 가장 먼저 연구가 시작된 분야로 머신러닝과 딥러닝을 포함하는 가장 폭 넓은 분야라고 할 수 있습니다. Russell 교수님은 다음 4가지 관점으로 AI를 정의하였고 각 관점에서의 AI를 해석하면 다음과 같습니다. Acting Humanly Turing Test: 테스터는 컴퓨터와 사람에게 동일한 질문에 대한 답을 듣고 컴퓨터와 사람을 구분할 수 있는가? 즉, 사람같이 행동(대답)함으로 이를 인공지능이라고 정의할 수 있습니다. Thinkin..

DCGAN

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks DCGAN? DCGAN은 불안정한 GAN의 구조적 단점을 보완하고 좋은 성능을 보여주었습니다. DCGAN은 이름 (Deep Convolutional GAN)에서도 알 수 있듯이 Convolutional 구조를 GAN에 사용하였습니다. 지도 학습에서는 CNN을 이용하여 좋은 성능들이 이미 보였지만, 이 DCGAN은 GAN과 같이 비지도 학습에 Convolutional 구조를 사용하여 좋은 성능을 보인 대표적인 결과물이라고 할 수 있습니다. 따라서 이후의 대부분의 GAN 모델들은 DCGAN의 구조가 기반으로 사용되었다고 할 수 있습니다. DCG..

머신러닝/Vision 2020.08.18

LSGAN

Motivation 성공적인 GAN의 성능에도 불구하고 discriminator 학습 과정에서 "Gradient Vanishing" 문제가 발생하여 모델의 학습이 제대로 이루어지지 않는 현상이 발견 되었습니다. discriminator에는 sigmoid cross-entropy loss 함수를 사용하는데 이는 discriminator가 입력으로 받은 샘플이 진짜일 확률을 출력한다는 것을 의미합니다. (진짜 -> 1 / 가짜 -> 0) 그런데 이 loss 함수를 사용하면 generator 학습시 vanishing gradient 현상이 발생하게 됩니다. 왜 이런 현상이 발생하는지 그림을 참조해서 설명하도록 하겠습니다. 위 그림에서 decision boundary를 기준으로 아래를 진짜, 위를 가짜로 판별할..

머신러닝/Vision 2020.08.12

Generative Adversarial Networks?

Generative Adversarial Networks (GAN)은 2014년 Ian Goodfellow가 Generative Adversarial Nets 논문에서 처음 제안한 비지도 학습 인공지능 알고리즘입니다. 다른 딥러닝 알고리즘들과 다르게 데이터 생성에 목적을 둔 알고리즘으로 다른 알고리즘들에 비해 학습이 어렵다는 특징이 있지만, 지금까지 수많은 연구 끝에 성능을 향상할 수 있었고 다양한 분야에서 활용되고 있습니다. 특히 Image 도메인에서 주로 활용되고 있으며 GAN하면 가장 쉽게 떠올릴 수 있는 Image-to-Image translation의 대표 모델 CycleGAN이 있습니다. 아래 이미지가 바로 CycleGAN을 통해 말을 얼룩말로 변환한 결과물입니다. GAN 모델 구조 GAN은 ..

머신러닝/Vision 2020.08.12

Adversarial Attacks and Defenses

Adversarial Attack Adversarial Attack과 Defense를 설명하기 위해 아래 그림을 인용하는 것이 가장 직관적으로 이해하기 쉬울 것 같습니다. 위 그림을 우리 눈으로 보면 좌, 우측에 판다가 있고 중앙에 노이즈처럼 생긴 그림이 있습니다.. 문제는 좌측의 판다를 57.7%의 신뢰도로 "판다"라고 분류 가능한 분류기가 있다고 가정할 때, 공격자는 중앙에 보이는 것과 같은 노이즈를 주어 우측 판다 이미지를 합성하게 됩니다. 그 결과 우측 판다 이미지는 우리에게는 여전히 "판다" 이미지로 보이지만 이전의 동일한 분류기로 이미지 식별 결과 99.3%의 신뢰도로 "긴팔원숭이"로 판단하게 된다는 것 입니다. 즉, 사람이 구분할 수 없는 노이즈를 이미지에 합성시켜 인공지능이 잘못된 예측을 ..

The Lottery Ticket Hypothesis

ICLR 2019에서 Best Paper에 선정된 "The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural" 논문에 대한 정리입니다. 이 논문은 Network Pruning에 관련된 논문으로 pruning은 쉽게 말해 뉴럴 네트워크의 사이즈를 줄이는 방법을 말합니다. 네트워크의 pruning을 위해서는 pre-trained 된 네트워크에서 불필요한 연결을 제거하여 네트워크의 사이즈를 줄임으로써 기존의 네트워크와 동일한 정확도를 유지하면서도 더 빠른 처리 속도를 얻기 위해 사용되는 기법입니다. Pruning에 대해서는 1990년도의 Yann Lecun 교수님의 논문 "Optimal Brain Damage"에서 처음 다루어졌습니다. 오늘 소개할 논문..

머신러닝/Vision 2019.06.24 (4)

ResNet 이해하기

아래 두 논문을 통해서 ResNet에 대해서 가볍게 이해해보자 Deep Residual Learning for Image Recognition Identity Mappings in Deep Residual Networks CNN이 이미지 인식 분야에서 뛰어난 성능을 보여주고 있었고, 네트워크의 층(layer)을 더 쌓으며 아주 깊은 네트워크를 구현하여 성능 향상을 이루고 있었습니다. 하지만 실제로 어느정도 이상 깊어진 네트워크는 오히려 vanishing/exploding gradient 문제 때문에 성능이 더 떨어졌는데 이러한 현상을 degradation problem이라고 합니다. 문제가 발생하는 이유는 weight들의 분포가 균등하지 않고, 역전파가 재대로 이루어지지 않기 때문입니다. ResNet은 ..

머신러닝/Vision 2019.06.04

Information Theory (Entropy / Cross-Entropy / KL-Divergence)

Machine Learning을 공부하다 보면 Entropy, Cross-Entropy, KL-Divergence 등의 용어들이 자주 사용되는데 이러한 개념들은 모두 정보 이론(Information Theory)에서 온 것입니다. 본 포스팅에서는 정보 이론의 기본부터 위 용어들에 대해서 간단하게 정리하도록 하겠습니다. 정보 이론의 핵심은 정보(Information)입니다. 정보라는 뜻은 흔히 우리가 알고 사용하는 의미와 동일하게 내가 알고 있는 지식이나 책이나 인터넷을 통해서 얻을 수 있는 지식을 뜻 합니다. 정보 이론에서는 이러한 정보를 수학적으로 표현하였습니다. 여기서 가장 중요한 개념은 잘 일어나지 않는 사건(Unlikely event)은 자주 발생하는 사건보다 정보량이 많다(Informative)..