본문 바로가기

반응형

학습공간/빅데이터활용실무

(12)

[11주차] Deep Generative Models Deep Generative Models (VAE, GAN) 기본 개념은 단순히 주어진 데이터만으로 구성되어있는 분포를 추정하여 찾아내는 것이다. 그다음 추정된 분포를 잘 활용하면 주어진 데이터와 매우 유사한 fake data 생성이 가능할 것이다. 서론에서 분포 추정을 조금 다룬 뒤, 대표적인 모델인 VAE, GAN 두 가지에 대해서 학습하도록 한다. • Density Estimation (밀도 예측) - 알 수 없는 실제 분포 \(𝑝\)(𝒙) 에 가장 가까운 데이터에 대한 분포 \(𝑝_𝜽\)(𝒙) 를 추정하는 것이다. - 그리고, 추정한 분포로부터 우리는 sample 𝒙 를 뽑아낼 수도 있다. - 가령, training dataset 𝐷 = {𝒙¹ 𝒙²,…, 𝒙ⁿ} 가 주어진다면, 단순한 𝑑 개의 저..
[10주차] Autoencoders Autoencoders (Unsupervised Learning) 비 지도학습(unsupervised learning) 측면에서는 오토인코더(auto-encoders) 개념을 빼놓을 수 없다. 딥 러닝에서 뉴럴 넷을 통해 차원이 축소(compression) 되고, 다시 복원(reconstruction) 시키는 형태이다. 사실, 히든 레이어를 많이 쌓으면 복원에 대해서는 문제가 없겠지만, 히든 레이어의 히든 유닛 수를 줄이는 차원 축소에 그 의의가 있다. Reconstruction-Compression Trade-off 관계와 축소된 벡터를 어떤 식으로 활용할 수 있는지에 대해 공부하도록 한다. • 입력 복사를 위한 FNN 의 특별한 경우이다. (simply, 𝒚 = 𝒙) • Two main parts: ..
[9주차] Graph Neural Networks (GNN) Graph Neural Networks (GNN) 딥 러닝의 데이터 처리에는 아주 많은 입력 데이터가 아주 깊고 복잡한 연산들을 수행하게 된다. 그래프 구조 데이터는 단순하게 노드와 엣지로 이루어진 관계를 나타내는 데이터로써, 쉬운 예로 SNS 친구 목록의 "알 수도 있는 친구"와 같은 관계를 정의한다. 이때, 입력 데이터를 이와 같은 그래프 구조 데이터로 처리한다면, 벡터로 처리했을 때보다 중복 정보를 깔끔하게 정리하고 효과적으로 처리할 수 있다. • Feed-forward Neural Networks (FNN) - An FNN is a stack of fully-connected layers. - 앞 장에서 이미지 및 Multi-Dimensional Array 형태의 입력을 처리하는 CNN, Sequ..
[8주차] Recurrent Neural Networks (RNN) Recurrent Neural Networks (RNN) 제일 먼저 떠오르는 것은 딥 러닝을 기반으로 시계열 데이터를 처리할 때 가장 많이 사용되는 구조라는 것이다. 구체적으로 딥 러닝에서 어떤 부분이 기존 MPL (Feed-forward Neural Networks)와 다른지 공부해보도록 한다. • Feed-forward Neural Networks (FNN) - An FNN is a stack of fully-connected layers. - 그림과 같이, 뉴럴 넷은 각 레이어 별 완전 연결로 구성되어 있다. 따라서, 각 레이어 별 parameter 개수도 많을 뿐만 아니라, 계산 비용도 복잡하고, 오버 피팅의 위험성도 크다. RNN 에서는 어떤 부분이 개조되어 사용되었는지 살펴보도록 한다. • C..
[7주차] Convolutional Neural Networks (CNN) Convolutional Neural Networks (CNN) 제일 먼저 떠오르는 것은 딥 러닝을 기반으로 이미지 처리할 때 가장 많이 사용되는 구조라는 것이다. 구체적으로 딥 러닝에서 어떤 부분이 기존 MPL (Feed-forward Neural Networks)와 다른지 공부해보도록 한다. • Feed-forward Neural Networks (FNN) - An FNN is a stack of fully-connected layers. - 그림과 같이, 뉴럴 넷은 각 레이어 별 완전 연결로 구성되어 있다. 따라서, 각 레이어 별 parameter 개수도 많을 뿐만 아니라, 계산 비용도 복잡하고, 오버 피팅의 위험성도 크다. CNN 에서는 어떤 부분이 개조되어 사용되었는지 살펴보도록 한다. • Co..
[6주차] Practical Methodology Practitioners need to know... 실제 머신 러닝을 구현해야 할 때는 현실적인 고민들에 빠지게 된다. 결론적으로, 모델에 대한 가정과 hyperparameter 이해 없이 적용하는 것은 의미가 없다. 다시 말하면, 디폴트 상태로 동작시킨다면 안 하는 것만큼 못하다는 이야기다. • 실무자들이 알아야 할 사항들... - 특정 애플리케이션에 대한 알고리즘은 어떻게 선택할까? - 시스템을 개선하기 위해 실험에서 얻은 피드백 (monitor and respond) 방법은 무엇일까? • 아래에 대한 사항들... 데이터를 더 수집해야 할지 아닌지? 모델의 캐퍼시티를 늘려야 할지 줄여야 할지? 정규화 특성을 추가해야 할지 삭제해야 할지? 모델 최적화 개선을 해야 할지? 모델의 근삿값 추론을 개선해야..
[5주차] Regularization Generalization 일반화는 정규화를 언급하기 전에 정의할 필요가 있다. 결국, 머신 러닝에서는 학습을 통해 모델을 만들고 새로운 데이터에 대해서 얼마나 성능을 발휘하는지 검증이 된다. 이것은 일반화 성능을 만족해야 하는 것이다. 그러나, 모델을 생성하는 데 있어서 사용된 학습 데이터가 너무 적거나 과하게 학습되어버리는 underfitting, overfitting 문제로 인해 일반화 성능을 만족하지 못하는 문제가 있다. 이에 따라, 정규화를 비롯한 다양한 기법을 통해 우리가 알지 못하는 새로운 데이터에서도 높은 성능을 발휘할 수 있도록 설계해야 한다. \[ \mbox{training dataset }𝐷 = \{(𝒙_1,𝑦_1),(𝒙_2,𝑦_2),…,(𝒙_𝑛,𝑦_𝑛)\} \, \mbox{is gi..
[4주차] Optimization Optimization 최적화란 말 그대로 최적의 해를 찾도록 하는 것이다. 어떠한 목적 함수에 대한 parameter(𝜽) 를 추정하는 Cost Function 𝐽(𝜽) 가 있다고 가정해보자. 우리가 이 비용 함수의 모양을 알 수 있다면, 초기 값을 어디로 잡을지와 어떤 방향으로 개선할지 알 수가 있다. 하지만, 다차원의 함수 모양을 알 수 없기 때문에 이를 해결하기 위한 다양한 최적화 기법을 다뤄보도록 한다. \[ 𝐽(𝜽) = \frac{1}{n} \sum \sideset{_{}^{}}{_{(x_i,y_i) ∈ D}}{} \, {L(y_i, f(x_i; 𝜽))} \] How to Optimize a given Cost Function? 먼저, 전통적인 최적화에 대한 개념과 머신 러닝에서의 최적화 개념..
반응형