node
노드에 인풋(x)이 들어오면
노드 안의 가중치(w)와 곱해지고
편향값이 더해져 (b)
시그모이드에 보내진다. 최종값 = sigmoid(wx + b)
dense = node가 여러 개 붙어있음 인풋 여러 개, 아웃풋 여러개
인풋이 어떻든 간에 노드의 개수만큼 아웃풋이 나옴
인풋값이 어떤 차원의 인풋값이든 간에 덴스에 넣으면 개발자가 정한 아웃풋값이 나옴
오토인코더
encoder
차원을 줄여 나가는 dense 레이어들을 인풋레이어
latent vector
가장 낮은 차원의 벡터를 생성하는 덴즈 레이어
decoder
함축된 latent vector를 덴즈 레이어로 차원을 늘려줌
optimize : 디코더 최종 아웃풋과 실제 인풋 이미지 픽셀 값의 차이를 줄여줌
비지도학습 방식 (or self-supervised learning)
=> 레이블링이 없는 이미지를 스스로 압축하고 복원하면서 특징을 잡아냄
목적 : 이미지를 효과적으로 압축, 데이터 시각화를 위한 차원 축소, 이상치 감소
구조 : 인코더 디코더
데이터의 핵심 요소를 찾아 요약하고, 요약된 정보를 이용해 다시 재구성해 요약이 잘 됐는지 확인함
이용
노이즈를 넣으면 > CNN을 강하게 키움 > 똑똑한 애가 계산 잘함
오토인코더는 레이블링 되지 않은 데이터에 사용된다.
인코더로 차원을 줄여서 특성 추출해 특징을 학습한다.
디코더로 차원을 다시 늘려서 잘했는지 확인을 한다.
stacked AE
a. 핵심개념 : 어러 AE 쌓아올림 (블럭처럼)
b. AE의 layer가 너무 깊어지면 학습이 잘 안될 수 있어서 여러개의 AE를 쌓아올린 모델이다.
lattent veriable
축소된 latent layer를 softmax에 넣어서 클래스를 나눠서 사용
mnist의 크기가 (28, 28, 1)이란게 mnist의 image 크기가 28x28 pixel이라는 의미일까요?
A. (가로, 세로, 채널)
일단은 정상범주 사람의 데이터만 넣고 테스트의 비정상적인 사람을 하는건가요?
A. 이상치 탐지 > 정상범주 학습 > 테스트 정상, 비정상
모델에 input_shape를 넣을 때는 실제 이미지의 픽셀과 다른 값을 넣으면 모델이 알아서 크롭해서 사용하게 되나요?
A. 네 에러가 날 수 있어여 ㅋ
왜 가중치를 재활용 할까요?
w1, w2, w3, w4
가중치를 다시 학습할 필요가 없어서 파라미터가 줄어들음
이상치 발견용 오토 인코더
a. 학습할 때 특징
i. 정상치를 학습해서
ii. 이상치가 나오면 loss가 많이 뜨니까 그걸로 판단
mnist로 잘 학습된 ae가 있다면 cifar10을 학습하지 않고 mnist로 학습된 ae에서 인코더로 cifat10을 분류할 수 있나요?
A. mnist가 편향된 자료긴 한데 잘 학습됐다는 전제가 있다면 가능하다