-
choyi0521's profile image
choyi0521
November 20, 2022
WaveBound: Dynamic Error Bounds for Stable Time Series Forecasting (NeurIPS'22) 눈문 소개
올해 11월 말에 열릴 머신러닝 학회인 NeurIPS 2022에 제가 제출했던 논문 “WaveBound: Dynamic Error Bounds for Stable Time Series Forecasting”이 어셉되어서 리뷰하고자 합니다. 소개 시간의 흐름에 따라 순차적으로 기록된 데이터를 시계열 데이터라고 부릅니다. 시계열 예측은 과거 시계열 데이터로부터 미래를 예측하는 테스크로 교통 속도 예측, 에너지 사용량 예측 등 다양한 분야에서 주목을 받아왔습니다. 최근에는 Informer, Autoformer와 같은 딥러닝 기반 시계열 예측 모델이 주목받았지만 본 연구에서 이러한 모델은 여전히 과적합에 취약함을 보여주었습니다. 기존 딥러닝 모델의 과적합...
-
choyi0521's profile image
choyi0521
October 19, 2022
Mining Multi-Label Samples from Single Positive Labels (NeurIPS'22) 눈문 소개
올해 11월 말에 열릴 머신러닝 학회인 NeurIPS 2022에 제가 제출했던 논문 “Mining Multi-Label Samples from Single Positive Labels”이 어셉되어서 리뷰하고자 합니다. 소개 자연에 존재하는 많은 이미지 데이터셋은 여러 가지의 속성을 가지고 있습니다. 예를 들어, 얼굴 이미지 데이터셋은 검은 머리, 웃는 표정, 남성과 같은 속성을 가질 수 있습니다. 일반적으로 이런 다중 속성을 모두 조작하여 이미지를 생성하기 위해서는 모든 속성의 존재 여부가 레이블링된(다중 레이블) 데이터셋을 사용해야 하는데 이는 대채로 매우 비쌉니다. “Mining Multi-Label Samples from Single Positive...
-
choyi0521's profile image
choyi0521
September 17, 2022
간단한 딥러닝 기반 장기 시계열 예측 모델 리뷰 (FiLM, NLinear)
소개 시계열 예측은 과거 시퀀스로부터 미래 시퀀스를 예측 하는 테스크로서 교통, 에너지 사용량 분석, 금융 등 다양한 분야 및 비즈니스 모델에서 활용도가 높기 때문에 큰 주목을 받아왔습니다. 시계열 예측을 정확하게 하기 위해서는 시계열 데이터에 있는 복잡한 주기성이나 경향을 포착할 수 있어야 합니다. ARIMA나 Kalman filter 같이 고전 타임시리즈 예측에 쓰이는 방법론은 주로 시계열 모델링에 대해 선형성 같은 강한 가정을 하고 있고 적절한 파라미터를 선택하는데 어려움이 있습니다. 이에 따라 데이터 내의 복잡한 모델링 능력을 배우기 위해...
-
choyi0521's profile image
choyi0521
February 14, 2021
비지도 방식으로 GANs의 이미지 생성을 조작하는 방법
소개 GANs는 이미지 생성이나 스타일 변화 테스크에서 굉장한 성능을 보여주고 있습니다. 특히, StyleGAN, BigGAN과 같은 최신 모델은 이미 실제와 구분이 힘들정도로 자연스러운 이미지를 생성합니다. 유저가 아웃풋 이미지를 원하는 형태로 조절하는 연구 또한 많이 진행되었으나 대부분 추가적인 라벨을 사용해서 모델을 학습하는 것에 초점을 맞췄었습니다. GANs의 해석 가능성에 대한 연구가 활발해지면서 각 특징을 조작하는 변수가 잘 구분되도록 학습하는 테스크인 disentanglement learning이 주목받게 됩니다. InfoGAN, beta-VAE 등이 대표적인 모델로 비지도 방식으로 생성 모델을 학습하면서 출력 결과의 중요한 특징들을...
-
choyi0521's profile image
choyi0521
January 7, 2021
Pytorch lightning 튜토리얼
소개 Pytorch Lightning은 Pytorch에 대한 High level의 인터페이스를 제공하기 위한 라이브러리입니다. 이 라이브러리는 모델 코드와 엔지니어링 코드를 분리해서 코드를 깔끔하게 만들 수 있도록 해주고 16-bit training, 다중 gpu 사용 등을 포함한 다양한 학습 기법을 몇 줄의 코드로 손쉽게 사용할 수 있도록 합니다. 이번 글에서는 pytorch lighting으로 MNIST 데이터 셋에 대한 분류 모델을 구현하면서 전반적인 라이브러리의 사용법에 대해 알아보겠습니다. 글에서 사용된 전체 코드는 여기에서 확인할 수 있습니다. Lightning Module 구현하기 Pytorch lightning에서는 trainer와 모델이 상호작용을 할...
-
choyi0521's profile image
choyi0521
September 16, 2020
Gumbel softmax
소개 언어 모델, 어텐션 메커니즘, 강화학습 등 다양한 문제에서 이산확률변수(discrete random variable)를 모델링해야 할 때가 있습니다. 하지만, 뉴럴 네트워크를 가지고 이러한 이산확률변수를 표현하는 것은 매우 어렵습니다. 왜냐하면 역전파(backpropagation) 알고리즘으로 미분 불가능(혹은 기울기가 0)인 레이어를 학습할 수 없기 때문입니다. 이러한 이산적인 연산을 sigmoid나 softmax 함수로 대체하는 것을 고려해 볼 수도 있습니다. 하지만, 이산적인 상태를 표현해야 하는 경우에는 이러한 함수를 사용할 수 없습니다. 또 다른 방법인 몬테카를로 방식으로 이산적인 연산의 gradient를 추정할 수 있지만 이 경우 큰...
-
choyi0521's profile image
choyi0521
July 19, 2020
Pix2Pix 이미지 변환 모델 소개 및 구현
소개 “Image-to-Image Translation with Conditional Adversarial Nets”은 CVPR 2017에 accept된 논문입니다. 이 논문은 이미지의 도메인간 변화를 다루는 문제인 image to image translation을 처음으로 정의했습니다. 이 변환에는 흑백 사진을 컬러화 시키는 것, 윤곽이 주어졌을 때 물체를 그리는 것 등이 포함됩니다. 이전까지는 각각의 변환 문제마다 다른 모델을 사용했었는데 해당 논문에서는 자신들의 Pix2Pix 모델이 대부분의 변환 문제를 잘 해결함을 보여주었습니다. 이미지 변환 예시 (출처: https://phillipi.github.io/pix2pix/) 이미 수많은 이미지 처리 문제는 convolutional neural nets(CNNs)를 사용해서 해결하고 있습니다. 하지만, 여전히...
-
choyi0521's profile image
choyi0521
March 8, 2020
UCB1 알고리즘의 pseudo-regret 분석
소개 멀티 암드 밴딧(Multi-armed bandit) 문제는 순차적 의사결정 문제(sequential decision problems)의 일종으로써 충분한 정보가 주어지지 않은 상황에서 탐색(exploration)과 이용(exploitation)의 균형을 찾는 것을 목표로 합니다. 멀티 암드 밴딧 문제에는 다양한 변종이 있는데 이번 글에서는 확률론적 멀티 암드 밴딧(Stochastic Multi-armed Bandit)과 성능 지표인 후회값(regret)의 정의를 알아보겠습니다. 또한, 이 문제를 해결할 수 있는 간단한 알고리즘 중 하나인 UCB1의 유사 후회(pseudo-regret)의 상한이 라운드 수에 대한 로그 스케일 이하임을 증명해보겠습니다. Stochastic Multi-armed Bandit 확률론적 멀티 암드 밴딧(Stochastic Multi-armed Bandit)은 각...
-
choyi0521's profile image
choyi0521
February 8, 2020
Deep Q-learning으로 뱀 게임 인공지능 만들기
소개 강화학습 알고리즘을 테스트하기 위해 다양한 라이브러리를 사용할 수 있지만 원하는 환경이 없는 경우가 종종 있습니다. 이런 경우 간단한 환경은 pygame, opencv 같은 라이브러리를 가지고 직접 만들어서 테스트해볼 수 있습니다. 이번 포스트에서는 뱀 게임 환경을 직접 구현하고 강화학습 알고리즘을 적용하는 과정을 살펴볼 것입니다. 이를 위해 pygame으로 뱀 게임을 만들고 Keras로 딥마인드의 “Playing Atari with Deep Reinforcement Learning”에서 소개되었던 DQN(Deep Q-Networks)을 구현 해보겠습니다. 본 포스트에서 다루는 뱀 게임 인공지능 전체 코드는 여기에서 확인할 수 있습니다. DQN으로...
machine-learning reinforcement-learning deep-Q-learning Keras
-
choyi0521's profile image
choyi0521
January 12, 2020
Pay Less Attention with Lightweight and Dynamic Convolutions 리뷰
컨볼루션 그림은 이 글(https://qiita.com/koreyou/items/328fa92a1d3a7e680376)을 참고해서 만들었습니다. 소개 시퀀스-투-시퀀스(Sequence-to-sequence) 모델은 자연언어처리(Natural Language Processing) 분야의 다양한 테스크를 처리하기 위해 쓰이고 있습니다. 이중 수많은 SOTA 모델이 “Attention Is All You Need”에서 소개된 트랜스포머(Transformer)를 기반으로 설계되어있고 이 모델에서 사용하는 어텐션 기법인 셀프 어텐션(self attention)은 SOTA 성능을 달성하기 위해 꼭 필요한 구조로 여겨지곤 합니다. WMT2014 영어-독일어 데이터 셋에서 기계 번역 모델의 성능 순위 (2019.12.30) “Pay Less Attention with Lightweight and Dynamic Convolutions”은 facebook AI research 팀의 논문으로 ICLR 2019에서 공개되었습니다....
-
choyi0521's profile image
choyi0521
August 18, 2019
WAVENET: A GENERATIVE MODEL FOR RAW AUDIO
소개 2016년 구글 딥마인드에서 오디오 생성 모델인 wavenet에 관한 논문을 공개했습니다. 이 당시 대부분의 TTS 모델은 녹음된 음성 데이터를 쪼개고 조합해서 음성을 생성하는 방식인 Concatenative TTS를 기반으로 구현되었습니다. 이 방식은 기본적으로 많은 양의 데이터를 필요로 했고, 화자나 톤을 바꾸는 등의 변형을 할 때마다 새로운 데이터가 필요했습니다. 이에 따른 대안으로 통계적인 방법으로 음성을 생성하는 parametric TTS 방식이 주목받았지만 Concatenative TTS에 비해서 생성된 음성이 덜 자연스러웠습니다. wavenet은 기존의 방식과 다르게 오디오의 파형을 직접 모델링하여 훨씬 자연스러운 음성를...
-
choyi0521's profile image
choyi0521
July 21, 2019
Listen, Attend and Spell
소개 전통적으로 음성 인식 모델은 음향 모델(acoustic model), 발음 모델(pronounciation model), 언어 모델(language model) 등 다양한 구성 요소로 이루어져 있었고 각각의 모델을 따로 학습하여 사용했습니다. 음성 인식 분야에서 Listen, Attend and Spell (ICASSP 2016)은 end-to-end 방식으로 학습할 수 있는 뉴럴넷 모델을 제시합니다. Sequence to sequence with attention Listen, Attend and Spell(LAS)는 sequence to sequence framework와 attention 기법을 사용하여 음성 인식을 합니다. sequence to sequence(seq2seq) 모델은 가변길이의 입출력 시퀀스를 학습할 수 있도록 설계되었습니다. seq2seq 모델은 encoder...
sequence-to-sequence attention machine-learning natural-language-processing
-
choyi0521's profile image
choyi0521
May 17, 2019
Discriminator Rejection Sampling
Generative Adversarial Networks(GANs)는 머신러닝 기술의 일종으로 생성자(generator)와 판별자(discriminator) 두 네트워크를 적대적으로 경쟁시켜 학습시키는 프레임워크를 말합니다. 보통 GANs에서는 학습이 완료되면 생성자 네트워크만 사용하고 판별자 네트워크는 버리게 됩니다. 하지만, 학습 이후에 여전히 생성자 네트워크가 실제 데이터 분포를 완벽히 묘사하지 못하고 판별자 네트워크가 이에 대해 중요한 정보를 가지고 있을 수도 있습니다. 그렇다면 학습 이후에도 판별자 네트워크를 활용하여 생성자 네트워크의 성능을 높일 수 있지 않을까요? Discriminator Rejection Sampling(DRS)은 ICLR 2019에 accept된 논문으로 GANs 학습 이후에 판별자(discriminator)를 이용하여 생성자(generator)의 성능을...
generative-adversarial-networks rejection-sampling discriminator-rejection-sampling
-
choyi0521's profile image
choyi0521
January 10, 2019
Thompson Sampling 소개 및 non-stationary MAB 문제 해결
이번 포스트에서는 Multi Armed Bandit 문제와 Thompson sampling을 소개하고 non-stationary MAB를 해결하는 간단한 알고리즘 중 하나인 Discounted Thompson Sampling에 대해 알아보려고 합니다. 이 알고리즘은 Vishnu Raj, Sheetal Kalyani의 논문 Taming Non-stationary Bandits: A Bayesian Approach에 자세히 소개되어 있습니다. 이 논문에서는 또 하나의 알고리즘 Discounted Optimistic Thompson Sampling(dOTS)을 제안했지만 본 포스트에서는 다루지 않겠습니다. Multi Armed Bandit, Thompson sampling에 대한 소개글은 Daniel Russo, Benjamin Van Roy, Abbas Kazerouni, Ian Osband, Zheng Wen의 A Tutorial on Thompson Sampling을...