구글에서 뉴럴 네트워크 모델링을 브라우저에서 멋진 비주얼라이제이션을 통해 맛볼 수 있게 한 재미있는 사이트를 공개했습니다. 현재 알고리즘은 백프로파게이션(backpropagation)이 디폴트로 되어 있습니다. 좌측에 몇가지 테스트 데이터셋을 고를 수 있고 히든 레이어는 6개까지 추가시킬 수 있습니다. 각 레이어에 뉴런은 8개까지 늘릴 수 있습니다.
상단에는 러닝속도(learning rate)와 액티베이션(activation) 함수, 레귤러리제이션(regularization) 방식, 레귤러리제이션 정도를 선택할 수 있습니다. 액티베이션 함수는 하이퍼볼릭 탄젠트(tanh), 시그모이드(Sigmoid), 선형(Linear), 렐루(ReLU) 중 하나를 선택할 수 있고 레귤러리제이션은 L1, L2 중 하나를 선택할 수 있습니다. 분류(Classification)를 선택하면 4개의 데이터 셋이 있고 회귀분석(Regression)을 선택하면 2개의 데이터 셋 중 하나를 고를 수 있습니다.
오렌지, 블루 두가지의 데이터 종류를 구분합니다. 좌상단의 시작 버튼을 누르면 각 뉴런에서 어떤 종류의 데이터에 대한 가중치가 높아지는지를 시각적으로 확인하실 수 있습니다. 사실 이 프로그램은 텐서플로우를 이용한 것은 아니고 자바스크립트로 작성되어(정확히는 타입스크립트) 브라우저에서 실행됩니다.
자바스크립트에서 머신러닝을 수행하려는 시도가 많이 있습니다. 그 중에서도 가장 유명한 것은 ConvNetJS 입니다.