brunch

You can make anything
by writing

C.S.Lewis

by Chris송호연 Aug 06. 2017

MNIST 시각화 - 차원 감소

MNIST Visualization - Chris Olah

이 글은 colah.github.io 의 블로그의 글을 저작자 Chris Olah의 허락을 받고 번역한 글입니다. 


아... Chris Olah의 인턴 호스트가 Jeff Dean이었다니 정말 부럽습니다ㅠ


http://colah.github.io/posts/2014-10-Visualizing-MNIST/




근본적인 수준에서 어떤 사람도 머신러닝을 이해하지 못합니다.


머신러닝이 너무 복잡한 것 자체가 문제의 원인은 아닙니다. 우리가 하는 모든 일들을 근본적으로 살펴보면 매우 간단합니다. 불행히도 타고난 인간의 핸디캡은 이러한 단순한 것들을 이해하는 데 방해가됩니다.


인간은 2 차원과 3 차원에 대해 유동적으로 추론하기 위해 진화했습니다. 약간의 노력으로 우리는 4 차원으로 생각할 수 있습니다. 머신러닝은 종종 우리가 수천 차원 또는 수만 또는 수백만의 차원에서 작업 할 것을 요구합니다! 매우 단순한 것조차 매우 높은 차원에서 수행 할 때 이해하기가 어려워집니다.


이러한 고차원 공간에 대한 직접적인 추론은 절망적입니다.

인간이 직접 무언가를 할 수 없는 경우가 종종 있기 때문에, 우리는 우리를 도울 수있는 도구를 만들었습니다. 고차원 데이터를 저 차원 데이터로 변환하는 기술을 탐색하는 차원 감소라고하는 잘 발전된 분야가 있습니다. 또한 고차원 데이터 시각화와 밀접하게 관련된 주제에 대해 많은 연구가 수행되었습니다.


이러한 기술은 머신러닝 및 딥러닝을 시각화하려는 경우에 필요한 기본 구성 요소입니다. 실제 희망하는 것을 시각화하고 직접 관찰함으로써 훨씬 더 직접적인 방법으로 뉴럴 네트워크를 이해할 수 있기를 바랍니다.


그리고 우리의 아젠다에서 가장 먼저할 일은 우리 자신을 차원 감소에 익숙하게 만드는 것입니다. 그렇게하기 위해, 우리는이 기술들을 테스트하기 위해 데이터 셋이 필요할 것입니다.


MNIST

MNIST는 간단한 컴퓨터 이미지 데이터 세트입니다. 그것은 28x28 픽셀의 손으로 쓴 숫자로 이루어져 있습니다.


모든 이미지의 모든 MNIST 데이터 포인트는 각 픽셀의 어둡기를 나타내는 숫자 배열로 생각할 수 있습니다. 예를 들어 1이라는 숫자는 다음과 같이 표현될 수 있습니다.


우리가 가진 각 이미지가 28 x 28 픽셀로 이루어졌기 때문에 우리는 28 x 28 배열을 갖습니다. 우리는 각 배열을 28 * 28 = 784 차원의 벡터로 펼칠 수 있습니다. 각각의 구성요소들은 0부터 1까지의 픽셀의 강도를 나타내는 값을 가지고 있습니다. 그래서 우리는 MNIST를 784 차원 벡터를 가진 데이터로 볼수 있습니다.


이 784차원 벡터 안에 있는 모든 값들이 MNIST 숫자는 아닙니다. 이 공간의 일반적인 포인트는 매우 다릅니다! 전형적인 포인트가 어떻게 생겼는지에 대한 감각을 얻기 위해 무작위로 몇 가지 점을 선택하여 검사 할 수 있습니다. 랜덤 한 지점 - 임의의 28x28 이미지 - 각 픽셀은 임의로 검정, 흰색 또는 회색 음영입니다. 그 결과 랜덤 포인트는 노이즈처럼 보입니다.


MNIST 숫자와 같은 이미지는 매우 드뭅니다. MNIST 데이터 포인트는 784 차원 공간에 내장 되어 있지만 아주 작은 부분 공간에 있습니다. 약간 더 어려운 논의가있을 때, 우리는 그것들이 더 낮은 차원의 부분 공간을 차지하는 것을 볼 수 있습니다.


사람들은 어떤 종류의 하위 차원 구조 인 MNIST와 비슷한 데이터에 대해 많은 이론을 가지고 있습니다. 머신러닝 연구자들 사이에서 대중적인 이론 중 하나는 다양한 가설입니다 : MNIST는 고차원의 임베딩 공간을 통해 스위핑 및 커브하는 저 차원 매니 폴드입니다. 위상 적 데이터 분석과 더 관련이있는 또 다른 가설은 MNIST와 같은 데이터가 주변 공간으로 튀어 나오는 촉수 같은 돌출부로 이루어진 얼룩으로 구성된다는 것입니다.


그러나 아무도 모릅니다. 그래서 탐색 할 수 있습니다! 


MNIST 큐브

우리는 MNIST 데이터 포인트를 784 차원 큐브에 정지 된 점으로 생각할 수 있습니다. 큐브의 각 차원은 특정 픽셀에 해당합니다. 데이터 포인트는 픽셀 강도에 따라 0에서 1까지의 범위입니다. 치수의 한면에는 픽셀이 흰색 인 이미지가 있습니다. 차원의 다른면에는 검은 색 이미지가 있습니다. 중간에는 회색 인 이미지가 있습니다.


이런 식으로 생각하면 자연스러운 질문이 생깁니다. 특정 two-dimensional face을 보면 큐브는 어떻게 생겼을까요? snow-globe를 쳐다 보듯이 특정 픽셀의 강도에 해당하는 한 차원과 두 번째 픽셀의 강도에 해당하는 두 차원으로 투영 된 데이터 포인트를 봅니다. 이를 검토하면 아주 미숙 한 방식으로 MNIST를 탐색 할 수 있습니다.


이 시각화에서 각 점은 MNIST 데이터 포인트입니다. 점은 데이터 포인트가 속한 숫자의 클래스에 따라 색상이 지정됩니다. 마우스를 점 위에 가져 가면 해당 데이터 포인트의 이미지가 각 축에 표시됩니다. 각 축은 레이블 옆에있는 작은 이미지의 파란색 점으로 시각화 된 특정 픽셀의 강도에 해당합니다. 이미지를 클릭하면 해당 축에 표시되는 픽셀을 변경할 수 있습니다.



이런 작은 성공에도 불구하고 이런 식으로 MNIST를 이해할 수는 없습니다. 작은 통찰력은 하나의 이득이 매우 허약하다는 느낌과 운이 많이 느낍니다. 진실은 MNIST의 구조가 이러한 관점에서 볼 수있는 것이 거의 없다는 것입니다. 한 번에 두 픽셀 만 보면서 이미지를 이해할 수는 없습니다.


그러나 우리가 MNIST에서 볼 수있는 다른 관점이 많이 있습니다! 이러한 관점에서 얼굴을 똑바로 바라 보지 않고 비스듬히 보입니다.


문제는 우리가 사용하고자하는 관점을 선택해야한다는 것입니다. 우리는 수평면에서 어떤 각도로보고 싶습니까? 수직으로 보는 각도는 무엇입니까? 고맙게도 PCA ( Principal Components Analysis) 라는 기술이있어 우리에게 가능한 최상의 각도를 찾습니다. 이것에 의해, PCA는 가장 많은 포인트를 분산시키는 각도를 발견 할 수 있습니다.


그러나 어떤 각도에서 784 차원 큐브를 바라 보는 것은 무엇을 의미합니까? 큐브의 모든 축을 기울여야하는 방향을 결정해야합니다. 즉, 한쪽에서 다른쪽으로, 또는 중간에서 어떤 방향으로 기울여야합니까?


구체적으로 PCA가 선택한 두 가지 각도의 그림은 다음과 같습니다. 빨간색은 픽셀의 치수를 한쪽으로 기울이고 다른 하나는 파란색으로 기울임을 나타냅니다.


MNIST 숫자가 주로 빨간색으로 강조 표시되면 한 쪽에서 끝납니다. 파란색으로 강조 표시되면 다른 쪽에서 끝납니다. 첫 번째 각도 - "첫 번째 주요 구성 요소"-는 수평 각도로, 빨간색과 파란색이 많이 강조되는 항목을 왼쪽으로, 오른쪽으로는 파란색과 작은 빨간색이 많이 표시되는 0을 누릅니다.


이제 우리는 최상의 수평 및 수직 각이 무엇인지 알았으니, 우리는 그 관점에서 큐브를 보려고 노력할 수 있습니다.


이 시각화는 위의 것과 매우 비슷하지만 이제 축은 첫 번째 및 두 번째 '주 구성 요소'를 표시하는 것으로 고정됩니다. 기본적으로 데이터를 보는 각도입니다. 각 축의 이미지에서 파란색과 빨간색은 해당 픽셀에 대한 '기울기'가 무엇인지 나타내는 데 사용됩니다. 파란색 영역의 픽셀 강도는 데이터 포인트를 한쪽으로 밀어 내고 빨간색 영역의 픽셀 강도는 다른 영역으로 푸시합니다.



이전보다 훨씬 좋지만 여전히 좋지 않습니다. 불행히도 최상의 각도에서 데이터를 보더라도 우리가보기에는 MNIST 데이터가 잘 정렬되어 있지 않습니다. 이것은 사소한 고차원 구조입니다. 이러한 종류의 선형 투영은 단지 그것을 잘라 내지 않을 것입니다.


고맙게도, 우리는 비협조적 인 데이터 세트를 다루기위한 강력한 도구를 가지고 있습니다.


최적화 기반 차원 감소

우리는 무엇을 성공이라고 생각합니까? MNIST의 '완벽한'시각화는 무엇을 의미할까요? 우리의 목표는 무엇이되어야 하나요?


우리의 시각화에서 점 사이의 거리가 원래 공간의 점 사이의 거리와 같으면 정말 좋은 속성 중 하나입니다. 이것이 사실이라면 우리는 데이터의 전체적인 기하학을 포착 할 것입니다.

좀 더 자세하게 살펴보겠습니다. 어느 두 MNIST 데이터 포인트에서 xi 와 xj에 있어 두 가지의 거리가 존재합니다. 한 가지 거리는 실제 두 포인트 사이의 거리, 그리고 또 한가지는 시각화했을 때 두 점 사이의 거리입니다 우리는 di*j 를 xi 와 xj의 실제 거리를 나타내는 데 쓰고, di,j 를 xi 와 xj 를 시각화했을 때 거리고 사용하겠습니다. 그럼 우리는 비용 함수를 설정할 수 있습니다.


이 값 은 시각화가 얼마나 나쁜지를 나타 냅니다. 그것은 기본적으로 다음과 같이 말합니다. "거리가 동일하지 않은 것이 좋지 않습니다. 실제로, 그것은 2 차적으로 나쁘다. "그것이 높으면, 그것은 거리가 원래의 공간과 다르다는 것을 의미한다. 크기가 작 으면 유사하다는 의미입니다. 값이 0이면 '완벽한'포함이됩니다.


그건 최적화 문제 같습니다! 그리고 깊은 학습 연구자들은 그것들을 어떻게 처리해야하는지 알고 있습니다! 임의의 시작점을 선택하고 그래디언트 디센트를 적용합니다 . 



물론 우리는 비용 함수의 결과값을 0으로 만들수는 없습니다. 일반적으로 고차원 구조는 거리를 완벽하게 유지하는 방식으로 2 차원으로 포함될 수 없습니다. 우리는 불가능한 것을 요구하고 있습니다! 그러나 완벽한 해답을 얻지는 못했지만 원본 무작위 임베딩을 많이 향상시키고 적절한 시각화를 얻습니다. 서로 다른 클래스, 특히 클래스가 분리되기 시작하는 것을 볼 수 있습니다.


Sammon's Mapping


그래도 우리는 훨씬 더 잘 할 수 있어야합니다. 아마도 우리는 다른 비용 함수를 고려해야합니까? 거대한 공간이 있습니다. 시작하려면 MDS가 매우 다양합니다. 공통된 주제는 지역 구조를 강조하는 비용 함수 가 글로벌 구조보다 유지하는 것이 더 중요하다는 것입니다. 이것의 아주 간단한 예제 는 비용 함수로 정의 된 Sammon 's Mapping입니다 :



Sammon의 매핑에서 멀리 떨어져있는 것보다 가까운 점 사이의 거리를 유지하는 것이 더 어렵습니다. 두 점이 원래 공간에서 두 번 더 가까운 경우 두 점 사이의 거리를 유지하는 것이 두 배 중요합니다.




MNIST의 경우 결과는 그다지 다르지 않습니다. 그 이유는 MNIST와 같은 고차원 데이터에서의 거리와 관련하여 다소 직관적이지 않은 특성과 관련이 있습니다. 몇몇 MNIST 숫자 사이의 거리를 고려해 봅시다. 예를 들어, 유사한 점들 사이의 거리 d(1,1)


반면에 아주 다른 데이터 포인트의 차이, 9와 3 사이의 거리는 이렇습니다.

유사한 점이 약간 다를 수 있기 때문에 유사한 점 사이의 평균 거리는 상당히 높습니다. 반대로, 한 지점에서 멀어지면 그 거리 내의 용적이 극도로 높아져 다른 종류의 지점으로 이동하게됩니다. 결과적으로 픽셀 공간에서 '유사'지점과 '다른 지점'간의 거리 차이는 좋은 경우에도 우리가 원하는 것보다 훨씬 적을 수 있습니다.


그래프 기반 시각화

아마도 로컬 동작이 보존을 위해 포함하려는 것이면 더 명확하게 최적화해야합니다.

( V, E)

이와 같은 그래프가 주어지면 표준 그래프 레이아웃 알고리즘을 사용하여 MNIST를 시각화 할 수 있습니다. 여기서 우리는 force-directed 그래프 드로잉 을 사용할 것 입니다 : 모든 점들이 대전 된 입자들을 물리 치고 모서리가 스프링이라는 척합니다. 이것은 우리에게 비용 함수를 제공합니다 :



우리는 이 비용함수를 최소화합니다.

그래프는 MNIST에서 많은 구조를 발견합니다. 특히, 그것은 다른 MNIST 클래스를 찾는 것처럼 보입니다. 이들이 중첩되는 동안 그래프 레이아웃 최적화 중에 클러스터가 서로 위로 움직이는 것을 볼 수 있습니다. 그들은 클래스들 사이의 연결 때문에 plane에 임베드 될 때 오버랩을 피할 수 없지만, 비용 함수는 적어도 그들을 분리 하려고 합니다.


그래프 시각화의 좋은 특성 중 하나는 어떤 점이 다른 점에 연결되어 있는지 명확하게 보여줍니다. 이전 시각화에서 이상한 곳에서 한 지점을 보면 그 지점이 막혔는지 또는 실제로 있어야하는지 여부는 확실하지 않습니다. 그래프 구조는 이것을 피합니다. 예를 들어 빨간색의 0 번째 클러스터를 보면 파란색 점 하나가 나타납니다.

, 그들 중.

당신은 그 이웃 사람들로부터 그곳에 있어야한다는 것을 알 수 있습니다. 그리고 그것을 보면서, 실제로는 제로와 같이 보이는 매우 저조한 6이라고 볼 수 있습니다.


t-Distributed Stochastic Neighbor Embedding (t-SNE)


소개하고자하는 마지막 기술은 t-Distributed Stochastic Neighbor Embedding (t-SNE)입니다. 이 기술은 심층 학습 커뮤니티에서 매우 인기가 있습니다. 불행하게도, t-SNE의 비용 함수는 몇 가지 중요하지 않은 수학적 기법들을 필요로하며 이를 이해하기 위해서는 상당한 노력이 필요합니다.


그러나 대략 t-SNE가 최적화하려고하는 것은 데이터 의 토폴로지(Topology) 를 보존하는 것 입니다. 모든 점에 대해, 그것은 다른 점들 중 어느 것이 '이웃'인지를 구성하며, 모든 점들이 같은 수의 이웃을 갖도록 만든다. 그런 다음 그 점들을 모두 같은 수의 이웃으로 갖도록 임베드를 시도합니다.


어떤면에서 t-SNE는 그래프 기반의 시각화와 비슷합니다. 그러나 단지 이웃들 (가장자리가있는 경우) 또는 이웃이 아닌 (가장자리가없는 경우) t-SNE는 포인트가 서로 다른 범위로 이웃하는 연속 스펙트럼을가집니다.

t-SNE는 종종 데이터의 클러스터 및 하위 클러스터를 나타낼 때 매우 성공적입니다.


t-SNE는 데이터에서 클러스터 및 하위 클러스터를 찾는 인상적인 작업을 수행하지만 로컬 미니 마에서 고생하는 경향이 있습니다. 예를 들어, 다음 이미지에서 여섯 개의 클러스터 (파란색)가 클러스터 사이에 끼어 들기 때문에 함께 실패한 두 개의 0 클러스터 (빨간색)를 볼 수 있습니다.

많은 트릭이 우리가 이러한 나쁜 로컬 미니마(Local minima)를 피할 수 있습니다. 첫째, 더 많은 데이터를 사용하면 많은 도움이됩니다. 이러한 시각화는 블로그 게시물에 포함되어 있기 때문에 1,000 점만 사용합니다. 50,000 개의 MNIST 포인트를 사용하면 훨씬 효과적입니다. 또한 simulated annealing 사용 하고 많은 수의 하이퍼 매개 변수를 신중하게 선택하는 것이 좋습니다.


잘 수행 된 t-SNE 플롯은 MNIST의 많은 흥미로운 특징을 보여줍니다.


원래 t-SNE 논문 인 Maaten & Hinton (2008) 에서 2590이라고 표시된 페이지에서 더 멋진 줄거리를 찾을 수 있습니다 .


t-SNE가 찾는 수업 만이 아닙니다. 더 자세히 살펴 보겠습니다.



클러스터가 수평으로 늘어납니다. 왼쪽에서 오른쪽으로 자릿수를 볼 때 일관된 패턴을 볼 수 있습니다.


그들은 기울기를 기준으로 왼쪽부터 오른쪽으로 나열됩니다. 처음에는 오른쪽으로 기울어져있다가

바로 섯다가

마침내 약간 왼쪽 기울어 진 것들이 배치됩니다.

.

MNIST에서, 그것들의 변화의 주요 요인은 기울어 진 것 같습니다.


이는 MNIST가 여러 가지 방법으로 숫자를 정규화하고 중심을 맞추고 크기를 조정하기 때문에 가능합니다.

그 후, "멀리 떨어져"있게하는 가장 쉬운 방법은 많이 겹치지 않고 회전시키는 것입니다.


t-SNE 플롯을 다시 보면 다른 클래스에서도 비슷한 구조를 볼 수 있습니다 .


3 차원에서의 시각화


이러한 시각화를 보면서 때로는 그들이 더 높은 차원을 구걸(begging)한다는 걸 느낄 수 있습니다. 예를 들어 그래프 시각화 최적화를 관찰하면 클러스터가 서로 겹쳐 움직이는 것을 볼 수 있습니다.


정말로, 우리는이 매우 고차원적인 구조를 2 차원으로 압축하려고합니다. 추가 차원을 더하면 매우 큰 승리가있을 것이라고 생각하는 것이 당연합니다. 그 외에는 적어도 3 차원에서 두 클러스터를 연결하는 선은 평면을 나누지 않아 클러스터 간의 다른 연결을 배제합니다.


다음의 시각화에서, 우리는 MNIST의 가장 가까운 이웃 그래프를 이전과 같이 구성하고 동일한 비용 함수를 최적화합니다. 유일한 차이점은 이제 그것을 배치하는 세 가지 차원이 있다는 것입니다.

3 차원 버전은 놀랍지 않게 훨씬 잘 작동합니다. 클러스터는 상당히 분리되어 있으며 얽혀 있지만 더 이상 겹치지 않습니다.


이 시각화에서 우리는 MNIST 숫자를 약 95 % 정확도로 분류하는 것이 왜 쉬운 지 알기 시작할 수 있지만 그 이후에는 더 빨리 어려워집니다. 위의 색깔있는 돌출 부분을 잘라 내고 각 클래스의 클러스터가 튀어 나와 많은 부분을 분류 할 수 있습니다. (이것은 선형 지원 벡터 머신이하는 일입니다.) 4 ) 그러나 중간에 특히 더 복잡하게 얽힌 부분이 분류하기가 어렵습니다.


물론 우리는 위의 기술을 3D로 할 수 있습니다! MDS처럼 단순한 것조차도 3D로 꽤 많이 표현할 수 있습니다.



3 차원에서 MDS는 두 가지 차원에서 수행 한 것보다 클래스를 분리하는 작업이 훨씬 낫습니다.

물론 우리는 3 차원에서 t-SNE을 할 수 있습니다.



t-SNE는 클러스터 사이에 너무 많은 공간을두기 때문에 3 차원으로의 전환에서 훨씬 적은 이점을 얻을 수 있습니다. 그래도 여전히 아주 좋은데, 더 많은 점을 가지고 훨씬 더 많이됩니다.


고차원 데이터를 시각화하려는 경우 사실상 2를 초과하는 3 차원에서이를 수행하는 데 상당한 이익이 있습니다.


결론

차원 감소는 잘 발달 된 영역이며 여기서는 표면의 지식들을 훑어보았습니다. 여기에 언급되지 않은 수백 가지의 기법과 변형이 있습니다. 나는 당신이 이 분야를 탐험해보는 것을 추천해드립니다!


이 기법들 중 하나가 다른 기법들보다 우수하다고 생각할 때 마음 속으로 빠지기 쉽습니다. 하지만 그들은 모두 보완 적이라고 생각합니다. 고차원 데이터를 낮은 차원으로 매핑하고 모든 구조를 보존 할 수있는 방법은 없습니다. 따라서 접근 방식은 다른 것을 보존하기 위해 하나의 속성을 희생해야하는 절충점을 만들어야합니다. 


PCA는 선형 구조를 유지하려고 시도하고 MDS는 전체 지오메트리를 보존하려고 시도하며 t-SNE는 토폴로지 (인접 구조)를 보존하려고 시도합니다.


이러한 기법을 통해 고차원 데이터를 이해하는 데 집중할 수 있습니다. 인간의 마음으로 고차원 데이터를 직접 이해하려는 노력은 절망적이지만, 이러한 도구를 통해 우리는 진전을 시작할 수 있습니다.


다음 글에서는 이러한 기술을 여러 종류의 데이터에 적용하는 방법, 특히 텍스트의 표현을 시각화하는 방법에 대해 살펴 보겠습니다. 그런 다음 이러한 기술을 갖추고 우리는 신경 네트워크 자체를 이해하고 고차원 데이터를 어떻게 변환하는지 시각화하며 신경 네트워크의 공간을 시각화하는 기술을 개발하는 데 집중할 것입니다. 관심이 있다면 내 rss 피드를 구독하면 해당 게시물이 게시 될 때 볼 수 있습니다.


(귀하의 의견이나 생각을 듣고 기뻐할 것입니다 : 인라인이나 끝에 댓글을 달 수 있습니다. 오타, 기술적 인 오류 또는 추가 된 내용에 대해서는 github 에서 풀 요청을하는 것이 좋습니다 )


감사 인사

나는이 게시물을 쓰는 동안 인턴으로 나를 데려 간 Google의 딥러닝 연구 그룹의 환대에 감사하고 그것이 기반으로하는 작업을 수행했습니다. 제 인턴 호스트인 Jeff Dean에게 특히 감사드립니다.


깊은 학습 그룹과 외부의 많은 Google 직원의 의견, 조언 및 격려 덕분에 크게 도움이되었습니다. 그렉 Corrado, Jon Shlens, Matthieu Devin, Andrew Dai, Quoc Le, Anelia Angelova, Oriol Vinyals, Ilya Sutskever, Ian Goodfellow, Jutta Degener 및 Anna Goldie가 있습니다.


나는 브렛 빅터 (Bret Victor)의 작업에 대한 그의 메모에서 마이클 닐슨 (Michael Nielsen)의 생각, 의견 및 메모에 크게 영향을 받았습니다. 마이클의 생각은 깊은 학습을 이해하기위한 대화 형 시각화에 대해 진지하게 생각해야한다는 것을 나에게 설득 시켰습니다.


Yoshua Bengio, Dario Amodei, Eliana Lorch, Taren Stinebrickner-Kauffman 및 Laura Ball을 비롯한 다수의 Google 직원을 지원하여 도움을 받았습니다.


이 블로그 게시물은 D3.js , MathJax , jQuery 및 three.js를 비롯한 수많은 훌륭한 자바 스크립트 라이브러리에 의해 가능했습니다 . 이 라이브러리에 기여한 모든 분들께 감사드립니다.




안녕하세요! 6번째 실용주의 머신러닝 스터디 공지입니다

스터디 페이스북 그룹 => https://www.facebook.com/groups/634363263421303


일정 : 화요일(8일) 저녁 7:30, 판교  

발표 :

1. 강화학습 - 김기철님

2. Data augmentation을 이용하여 적은 데이터로 인공신경망 훈련시키기 및 IOS에서 머신러닝 돌리기; 알파벳, 그림인식 - 강형석

3. (제주 ML 캠프 특집) 강화학습 기반 자율주행차 시뮬레이터 프로젝트 소개
Deep Reinforcement Leaning based Self Driving Car Control - 민규식님


이번주 숙제는 단 하나-!

1. 김성훈 교수님의 강화학습 OpenAI Gym 전체 강의 듣고 따라하기

https://www.youtube.com/watch?v=dZ4vw6v3LcA

숙제 내신분 회비 10000원


2. 숙제 안하고 참관만 : 회비 15000원

(수입맥주와 배달피자 예정)

시즌1 마지막스터디 특집 피맥 파티가 있습니다. 이후 2주간 쉴거랍니다!


회비는 월요일 오전까지 카카오페이로 보내주시면 됩니다!


카톡ID : heejour

회비 또는 숙제제출하신분들은 오프라인 모임 단톡방에 초대해드립니다.
제출은 월요일 오전까지 아래 링크에 해주시면 됩니다

https://goo.gl/forms/Y3BiKP2MSIQxsQX73

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari