본문 바로가기

전체 글101

강화학습 기본 18.1 보상을 최적화하기 위한 학습 * 강화학습에서 소프트웨어 Agent는 Observation을 하고 주어진 Environment에서 action을 한다. 이 action에 따른 reward는 positive reward, negative reward로 구분된다. 이 reward를 최대로 하는 것이 강화학습 Agent의 목표가 된다. * positive reward가 존재하지 않을 수도 있다 negative reward를 최소로 하는 것이 목표가 되는 것도 가능하다. 또한 우리가 쉽게 생각할 수 있는 자율주행과 같은 분야 외에도 물리적인 action을 취하지 않는 분야, 예를 들어 목표 온도를 맞춰 에너지를 소비를 최소로 하는 등의 작업에서도 강화학습이 쓰일 수 있다. 18.2 정책 탐색 * Agen.. 2022. 1. 8.
GAN(Generative Adversarial Network) GAN * GAN은 생성적 적대 신경망이라는 이름에서 알 수 있듯이 신경망의 경쟁을 통해 더 나은 네트워크를 도출해내는 기법을 뜻한다. Generator(생성자) * generator random한 분포, 이를테면 Gaussian distribution과 같은 분포를 입력으로 받고, 이를 coding과 같이 취급해 이미지를 생성해내는 역할을 한다. 이는 variational autoencoder의 decoder부분과 비슷한 역할이다. Discriminator(판별자) * discriminator는 입력된 이미지가 training set에서 나온 real image인지, Gaussian distribution에서 추출되어 generator가 생성한 fake image인지를 판별하는 판별자이다. 훈련 과정 .. 2022. 1. 1.
17.8 Variational AutoEncoder Variational AutoEncoder(변이형 오토인코더) * variational autoencoder는 여태껏 살펴봤던 autoencoder들과는 조금 다르다. 먼저 probabilistic autoencoder이다. 훈련 과정 뿐만 아니라 테스트 과정에서도 출력이 부분적으로 우연에 의해 결정되기 때문이다(denoise autoencoder가 훈련시에만 gaussian noise 혹은 dropout을 적용하는 것과는 차이가 있다). 두 번째로는 generative autoencoder이다. 훈련 sample에서 생성한 것과 같은 sample을(분포가 같은) 생성할 수 있는 autoencoder이다. 자 이제 variational autoencoder의 구조를 살펴보자. * 구조는 일반적인 auto.. 2021. 12. 28.
17.7 Sparse AutoEncoder Sparse AutoEncoder * Sparse AutoEncoder는 규제 기법을 통해 coding층의 훈련시마다 뉴런 개수를 제한함으로서 각 뉴런들이 더 유용한 특성을 학습하여 coding을 만들어낼 수 있도록 하는 기법이다. 이는 dropout에서 일부 뉴런을 의도적으로 훈련에서 누락시켜 나머지 뉴런들이 더 유용한 특성을 학습하도록 하게 만드는 것과 비슷하다. * 규제 방법으로는 각 뉴런의 평균 활성화 정도를 측정해서 목표 평균 활성화 정도와 비교해 loss에 더하는 것을 들 수 있다. 예를 들어 각 뉴런이 평균적으로 0.3만큼 활성화 되었고, 목표 평균 활성화 정도가 0.1이라면 loss에 $(0.3 - 0.1)^2$를 더하는 방식을 사용할 수도 있다. 실전에서 더 좋은 방법은 Kullback-.. 2021. 12. 28.