Autoencoder 파생변수 - autoencoder pasaengbyeonsu

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
이영재

금일 세미나는 “Introduction to Autoencoder” 주제로 새린이가 발표했다. Autoencoder는 Unlabeled Data를 활용하는 비지도학습에 속하며 입력 데이터와 복원 데이터 간 차이를 최소화하는 방향으로 학습하게 된다. Autoencoder에는 크게 Encoder를 학습시키는 것이 목적인 Manifold Learning과 Decoder를 학습시키는 것이 목적인 Generative Model로 구성되어 있다. Autoencoder에는 다양한 Autoencoder들이 존재하며 이들은 Bias-Variance tradeoff를 해결하기 위해 개발되어 왔다. Sparse Autoencoder는 Loss term에 Regularization을 추가한 연구, Denoising Autoencoder는 입력 데이터에 noise 추가나 네트워크에서 dropout을 추가하는 Regularization 기법을 활용하였다. Contractive Autoencodr는 중요하지 않은 부분을 무시할 수 있도록 jacobian matrix를 Loss term에 추가하여 해결한 연구이다. 이 외에도 Autoencoder는 지도학습과 결합한 End-to-End Training, Vision Transformer, Pretext Task-based Self-Supervised Learning에도 활용되고 있다. 이번 세미나는 Autoencoder의 전반적인 개념 및 응용 뿐만 아니라 우리가 잊고 있었던 개념들을 다시 한 번 상기시키는 좋은 세미나였다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
배진수

금일 세미나를 통해 오토인코더에 대한 개념, 종류, 활용 사례를 야무지게 알 수 있었다. 오토인코더 모델은 데이터에 내재된 특징을 배우는데 효과적인 manifold learning 관점에서 사용될 수 있으며, 데이터에 내재된 생성 분포를 파악하는데 효과적인 generative modeling 관점에서도 사용될 수 있다. Encoder와 Decoder의 짜임새에 대해 설명해주었는데 명확하게 이해되었다. 또한, 매니폴드 학습 관점에서 3 종류의 오토인코더를 배울 수 있었다. 3가지 모두 오토인코더의 일반화 성능을 높이기 위헤 제안되었으며, 일반화 성능을 높이기 위한 방법(과적합 방지)에서 사소한 차이가 있다. 첫번째 Sparse 오토인코더는 활성화 함수의 '활성화' 부분에 제약을 걸음으로써 과적합을 방지하였고, 두번째 Denoising 오토인코더는 입력 데이터에 임의의 노이즈를 더함으로써 과적합 방지 아이디어를 제시하였다. 세번재 Contractive 오토인코더는 코드의 변화량에 제약을 걸음으로써(데이터의 불필요한 부분의 코드 변화량은 커지지 않을 것, 즉 핵심적인 부분의 코드만 남게 될 것) 과적합을 방지했다. 마지막으로 오토인코드의 활용 사례를 배울 수 있었다. 차원 축소, 군집화, 이상치 탐지에 오토인코더가 활용되는 방법을 알 수 있었다. 좋은 세미나를 준비해 준 새린이에게 감사의 말을 전하며 세미나 후기를 마치도록 한다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
조한샘

이번 세미나는 "Introduction to Autoencoder"라는 주제로 진행됐다. 오토인코더는 인코더와 디코더가 bottleneck 구조로 연결되는 구조를 의미한다. 오토인코더는 크게 manifold learning과 generative model을 위해 활용될 수 있다. Manifold learning은 고차원 공간 내에 존재하는 저차원 공간인 manifold를 학습하는 것을 의미한다. 즉, 고차원의 데이터에서 저차원의 특징 벡터를 추출하는 것을 목적으로 하고 있다. 고차원의 데이터를 저차원으로 맵핑하는 것이 목적이기 때문에 주로 오토인코더의 인코더 부분에 초점을 맞추어 학습이 진행된다. Generative model은 데이터의 분포를 학습하는 것을 목적으로 하며 저차원의 latent variable을 실제 데이터로 맵핑하는 것을 목적으로 하므로 디코더 부분을 학습하는 것이 목적이 된다. 이번 세미나에서는 manifold learning을 목적으로 하는 오토인코더에 대해서 소개되었다. Manifold learning을 목적으로 하는 오토인코더는 과적합을 방지하기 위해 다양한 regularization 기법을 적용하게 된다. 가장 먼저 소개된 오토인코더는sparce autoencoder로 기존의 오토인코더에 sparsity regularization을 적용한다. Hidden layer의 차원이 input layer보다 증가하며 hidden layer에서 activation에 제약을 가함으로써 과적합을 방지하게 된다. 다음으로 소개된 denoising autoencoder는 입력 데이터에 랜덤한 노이즈를 추가하여 입력의 작은 변화에도 강건한 모델을 만드는 것을 목적으로 한다. 마지막으로 소개된 contractive autoencoder는 중요하지 않은 입력의 변화를 무시하도록 학습하는 것을 목적으로 한다. 이번 세미나를 통해 다양한 오토인코더와 활용 방안에 대해서 알 수 있어 의미 있는 세미나였다. 세미나를 위해 고생해준 새린이에게 감사의 뜻을 전한다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
황성진

이번 세미나는 Auto Encoder에 대한 주제로 진행되었다. AutoEncoder는 Unlabeled data를 다룰 때 효과적으로 사용될 수 있는 인공신경망의 한 형태로, Encoder 부분은 original data를 의미있는 representation으로 바꾸도록 하고, Decoder는 이를 다시 input형태로 복원하도록 하여 최종적으론 복원된 데이터와 original data의 차이가 최소화 되도록 학습한다.
이러한 구조로부터 Autoencoder는 두가지 목적에 이용될 수 있는데, 하나는 manifold learning/ 다른 하나는 generative model이다. 여기서 manifold learning은 고차원 형태의 데이터에서 저차원으로 feature를 뽑아내는 것에 목적이 있다. 이번 세미나는 manifold learning에서의 과적합 문제를 해결하기 위해 파생된 다양한 autoencoder를 소개해주었다. 현재 딥러닝은 모델의 복잡도를 올려 성능을 향상시키고자 하는데, 이럴 경우 필연적으로 방생하는 과적합을 regularization을 통해 조절하는 방식으로 발전되고 있다고 한다. 이에 따라 세가지 종류의 Autoencoder는 각각 Sparse, Denoising, Contractive로 나뉘어 설명되었다.
Sparse Autoencoder는 Loss term에 KL divergence나 L1 정규화를 추가하여 은닉층의 활성화를 규제하는 형태고, Denoising은 input에 random noise나 dropout을 추가하는 형태이며, Contractive는 input 내에서 중요하지 않은 입력은 무시하고, 중요한 입력의 (작은) 변화만을 중점적으로 학습하도록 하는 형태로 Jacobian matrix를 loss함수에 추가하여 구현된다.
Autoencoder가 Encoder/Decoder 형태로 학습되고 나면, Encoder 부분이 feature를 잘 representation할 것이므로 이렇게 변환된 representation으로 군집화를 통해 classification을 수행한다던가, 이 자체로 차원축소나 mapping에 이용하기도 하고, 또 학습한 Autoencoder가 제대로 복원하지 못하면 이것은 새로운 데이터라는 가정으로 이상치 탐지에도 사용될 수 있다.
Unlabeled data를 어떤 방식으로 학습시킬 것인가에 대한 문제는 참 어려우면서도 흥미로운 주제 같다. Autoencoder는 스스로 representation을 original data와 비교하는 형태로 고안한 것이 재미있었고, 여기에서 발생하는 문제에 대해 알기 쉽고 다양하게 설명해줘서 굉장히 많이 배웠다. 새린이에게 감사의 마음을 전한다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
조용원

Autoencoder를 포함한 Encoder-Decoder구조는 Computer vision 발전에 상당한 영향을 끼친 모델이라고 평가할 수 있다. 후기를 작성하는 지금도 Autoencoder 구조를 어떻게 연구에 응용하는 방안에 대한 고민을 하고 있는 상황이다. 새린이가 Basic, Sparse, Contractive, Denoising Autoencoder에 대한 소개를 해주었다. 해당 방법론들은 고차원 데이터(최근 방대하게 수집되는 비정형 데이터)를 어떻게 특징을 유지하며 저차원 데이터로 차원축소 가능하며, 축소된 공간에서 특정한 분포를 가지고 있을 것이라는 가정이 존재한다. 해당 가정을 기반으로 분류, 군집 분석, 이상탐지 등에 사용되고 있다는 내용을 추가적으로 설명해주었다. 하지만 최근 이상탐지 분야에서는 Autoencoder를 사용한 방법보다 Encoder를 어떻게 학습시킬까에 대한 방법론이 많이 등장하고 있다. 이유는 이상 데이터에 대해서도 Autoencoder가 정확히 복원하기에 (일반화 성능이 뛰어나기에) Feature manifold 를 정확히 디자인 할 필요가 있다. 본 세미나 준비를 하면서 많은 공부를 하였을거고 이를 기반으로 Self-supervised representation learning에서도 연구 발전이 있길 응원한다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
안인범

이번 세미나는 Autoencoder에 대한 소개를 주제로 진행되었다. Autoencoder는 기본적으로 Encoder와 Decoder의 구조를 가지며 입력 데이터만을 활용하여 입력 데이터와 복원된 데이터와의 차이를 최소화하는 방향으로 학습하는 방법이다. Autoencoder를 목적에 따라 Encoder 또는 Decoder의 관점에서 나눌 수 있는데, 이번 세미나에서는 Encoder를 학습시키는 Manifold learning에 대해 자세히 소개해주었다. Manifold learning이란 고차원 공간의 데이터를 저차원의 manifold 공간으로 mapping 시키는 함수를 찾는 과정을 말하며, 학습이 끝난 Autoencoder의 encoder를 mapping 함수로 사용할 수 있다. 이 때, Autoencoder의 과적합 문제를 해결하기 위해 다양한 규제 기법을 적용하는데, 규제 기법에 따라 Sparse, Denoising, Contractive autoencoder 등의 여러 변형이 발생한다. 이러한 Manifold learning을 위한 Autoencoder는 Classification, Clustering, Anomaly detection, Dimensionality reduction 등에 활용될 수 있는데, 각각에 대한 예시와 함께 설명해주어서 좋았다. Autoencoder를 크게 어떻게 분류할 수 있는지, 또 세부적인 종류는 어떤 것들이 있는지를 전반적으로 알 수 있어서 도움이 많이 되었고, 특히 Autoencoder가 어떤 Task에 어떻게 활용될 수 있는지를 잘 설명해준 점이 좋았던 것 같다. Autoencoder에 대한 기본 개념과 활용방법을 다시 한번 이해할 수 있었고 도움이 많이 된 세미나였다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
유이경

이번 세미나는 'Introduction to Autoencoder'라는 주제로 진행되었다. Autoencoder란 입력 데이터를 meaningful representation으로 압축하는 encoder와, 압축한 representation을 다시 입력 데이터로 복원하는 decoder로 구성된다. 이는 입력 데이터만을 활용하는 unsupervised learning으로 입력 데이터와 복원된 데이터의 차이를 최소화하는 방향으로 학습이 진행된다. Autoencoder는 encoder와 decoder 어느 쪽의 학습을 목적으로 하는지에 따라 manifold learning을 위한 autoencoder와 generative model을 위한 autoencoder로 나뉜다. 본 세미나는 고차원 공간의 데이터를 저차원 manifold 공간으로 mapping 시키는 함수를 찾는 과정인 manifold learning을 위한 autoencoder에 초점을 맞추어 진행되었다. 효과적인 manifold learning을 위해서는 autoencoder가 입력 데이터를 잘 복원하는 동시에, 처음 보는 데이터까지 잘 아우를 수 있는 representation을 학습해야 한다. 이를 위해 다양한 규제 기법을 적용하는 여러 변형 autoencoder(Sparse autoencoder, Denoising autoencoder, Contractive autoencoder)에 대해 소개해주었다. 끝으로는 autoencoder가 다양한 task에 어떻게 적용되어 활용되는지 정리해주었다. Classification부터 clustering, 이상치 탐지, 차원축소 등으로 다양하게 확장되어 사용되는 autoencoder에 대해 깔끔하게 이해할 수 있는 시간이었다. 마침 autoencoder에 관해 공부해보려고 했는데, 덕분에 각각의 task에 따라 더 깊이 있는 공부를 시작해볼 수 있는 큰 틀을 짤 수 있었다. 세미나를 준비하느라 고생해준 새린오빠에게 감사한 마음을 전하고 싶다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
이민정

이번 세미나는 autoencoder에 관한 소개가 이루어졌다. Autoencoder의 발전을 manifold learning, generative modeling 두 관점으로 풀어낸 부분은 그동안 생각지 못 했던 방식이라 재미있게 들었던 것 같다. 과거에 기본적인 autoencoder를 프로젝트 등에서 구현하고 사용할 때, ‘autoencoder에서 자기 자신을 그대로 잘 재현하는 모델이 만들어졌다고 해서 중간 bottleneck 요약된 부분에서 학습된 데이터의 특징이 잘 추출되었다고는 할 수 없는 것 같다.’ 이야기를 나눈 적이 있는대, 이런 부분에서 자기 자신을 잘 재현하되, 일반화된 요약이 가능하도록 다양한 autoencoder가 파생된 것 아닐까 생각이 들었다. Autoencoder의 사용 목적(manifold learning, generative modeling)에 따라서 적절한 autoencoder를 선택해서 사용하는 것이 좋을 수 있겠구나 생각이 들었다. 오늘 세미나에서는 manifold learning 관점에서 파생된 autoencoder에 대한 설명이 자세히 이루어졌다. Manifold 관점에서 autoencoder는 학습 데이터에 과적합 되지않고 새로운 데이터가 들어오더라도 올바른 요약을 할 수 있도록 일반화된 모델을 만드는 것이 중요하다. 이때 3가지 종류 autoencoder를 설명들을 수 있었다 (sparse, denoising, contractive). 이 중 contractive autoencoder는 이번 세미나를 통해 처음 접하게 되었는대, 이는 jacobian 행렬식을 사용한 방식이었다. Jacobian 행렬식은 다변수 벡터함수의 도함수 행렬이고 비선형 변환을 선형변환으로 근사시킨 것이라는 의미가 있다고 한다. 따라서 이것을 규제함으로써 encoder를 통한 비선형 변환에서 중요한 변화, 중요치 않은 변화를 구분지어 중요하지 않은 변화를 무시하도록 수식에 반영될 수 있음을 공부하게 되었다. 관련 아이디어를 다른 곳에도 활용할 수 있다면 좋을 것 같다고 생각했다. 마지막 부분에서 최종적으로 이렇게 학습한 autoencoder를 어떻게 활용할 수 있는가였는대, classification, clustering, anomaly detection, dimensionality reduction이 소개되었다. 이때, classification을 위한 downstream task로의 활용이 최근 autoencoder의 활용되는 방식 가운데 가장 트렌디한 방식이라고 이해되었다. Labeled data는 적고 unlabeled data가 많을 때 위의 활용 방식을 잘 떠올려서 사용해 봐야겠다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
김서연

이번 세미나는 "Introduction to Autoencoder"의 주제로 진행되었다. 오토인코더 모델은 레이블이 필요 없는 비지도 학습 방법론으로, 입력 데이터를 효과적으로 코딩하고 이를 다시 입력 데이터로 복원시키는 bottleneck 형태의 구조를 갖고 있다. 오토인코더의 목적은 고차원 공간에 내제한 저차원 공간을 효과적으로 표현하는 manifold와 데이터를 다시 생성하는 생성 모델의 크게 두 가지로 나누어 볼 수 있다. 이번 세미나에서는 manifold learning 관점에서 오토인코더 모델의 과적합 문제를 해결하고자 다양한 규제 기법을 적용하는 방법론을 위주로 살펴보았다. 규제 기법의 적용이란 모델의 복잡도를 높인 뒤, bias를 높이고 variance를 낮추는 방향으로 적용하는 것을 의미한다. Sparse Autoencoder는 은닉층의 활성화에 규제를 가하는 방법으로 로스 함수에 KL-divergence, 또는 L1-regularization을 추가하고 있다. Denoising Autoencoder 모델은 입력 단계에서 랜덤 노이즈를 추가로 더하여주어 학습함으로써 작은 변화에도 강건한 모델이며, Contractive Autoencoder 모델은 중요한 픽셀과 중요하지 않은 픽셀을 jacobian 행렬로 찾아서 중요하지 않은 입력에 더욱 강건하게 만들어주는 방법론이다. 이렇게 학습된 오토인코더 모델은 분류, 클러스터링, 이상치 탐지, 차원 축소 등 다양한 문제 상황에서 활용될 수 있다. 본 세미나를 통하여 오토인코더의 기초적인 개념부터 그 목적, 구체적으로 발전한 여러 종류의 모델들에 대하여 살펴볼 수 있어서 좋았고, 인코더 모델만을 사용하여 분류 등의 다양한 방면으로 활용하는 방향도 한번 진행해보고 싶다는 생각이 들었다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
김창현

이번 세미나는 'Introduction to Autoencoder'라는 주제로 진행되었다. Autoencoder의 사전적 정의는 unlabeled data의 효과적인 코딩을 배우는데 사용되는 인공신경망의 한 형태이다. 기본적으로 Autoencoder는 encoder와 decoder가 bottleneck 구조를 이루고 있다. Encoder는 입력데이터를 meaningful하고 compressed된 representation으로 압축하고, decoder는 압축된 representation을 다시 입력데이터로 복원하는 역할을 한다. 즉, autoencoder는 입력 데이터만을 활용하는 unsupervised learning의 한 형태로 입력데이터와 복원된 데이터의 차이를 최소화하는 방향으로 학습이 진행된다. Autoencoder는 그 목적에 따라 크게 manifold learning과 generative model로 구분된다. 전자는 encoder를 학습시키는 것이 목적이고 후자는 decoder를 학습시키는 것이 주요 목적이다. Manifold learning을 위한 autoencoder는 은닉층의 활성화에 규제를 가하는 sparse autoencoder, 입력 데이터에 random noise나 drop out을 추가하는 denoising autoencoder, 입력 데이터의 작은 변화에 저항하는 contrative autoencoder로 다시 세분화된다. Autoencoder는 분류, 군집, 이상치탐지와 차원 축소 등에 적용될 수 있다. Autoencoder 이해에 필요한 기본 개념부터, 정의, 종류, 활용 방안 등을 이해할 수 있었다. 좋은 세미나를 준비해준 새린에게 감사의 말을 전한다.

Autoencoder 파생변수 - autoencoder pasaengbyeonsu
고은지

금일 세미나는 autoencoder를 주제로 진행되었다. Autoencoder는 unlabeled data를 효과적으로 사용하기 위한 인공신경망으로 encoder와 decoder가 bottleneck을 이루고 있는 구조이다. Encoder는 입력 데이터의 의미를 함축하고 있는 표현 벡터로 압축하고 decoder는 압축된 표현 벡터를 다시 입력 데이터의 형태로 복원한다. 결론적으로 autoencoder는 입력 데이터와 복원된 출력 데이터의 차이를 최소화 하는 방향으로 학습한다. Autoencoder 사용의 목적은 encoder 학습과 decoder 학습의 측면으로 나눌 수 있다. Encoder 학습에 초점을 맞추는 분야는 manifold learning이며 과적합 문제를 해결하기 위해 다양한 규제 기법을 적용하는 방식으로 여러 방법론들이 제안되고 있다. Decoder 학습에 초점을 맞추는 분야는 generative model이다. 대표적인 알고리즘은 variational autoencoder이다. 본 세미나는 manifold learning의 autoencoder를 중점적으로 설명한다. bias-variance 관계를 고려하며 다양한 파생 autoencoder 모델이 개발되었다. 본 세미나는 대표적으로 sparse autosencoder, denoising autoencoder, contractive autoencoder를 소개한다. Sparse autosencoder는 은닉층 노드의 수가 입력층 노드의 수보다 많은 구조로, KL-divergence나 L1 regularization을 loss term에 추가하는 방식으로 은닉층 활성화에 규제를 가하는 방법을 사용한다. Denoising autoencoder는 입력 데이터에 random noise나 dropout을 추가하고 이를 잘 제거하는 방향으로 학습한다. 입력 데이터에 어떠한 noise를 추가해도 manifold 상에서 같은 곳에 위치해야 함을 가정한다. Contractive autoencoder는 decoder가 재구성할 때 중요하지 않은 입력의 변화에 덜 민감할 수 있도록 encoder에서 특징 추출 방식을 학습한다. 해당 알고리즘은 작은 변화에 강건한 모델을 학습하는 것이 목적이다. 마지막으로 autoencoder가 다양한 분야에서 응용되는 사례를 소개한다. Autoencoder의 관점에서 bias-variance의 관계를 자세히 정리해주어서 매우 유익한 세미나였다.