
690
2
부
신경망과 딥러닝
그림
17-9
잡음 섞인 이미지(위)와 재구성된 이미지(아래)
17.7
희소 오토인코더
좋은 특성을 추출하도록 만드는 다른 제약의 방식은
희소
sparsity
입니다. 이는 비용 함수에 적절
한 항을 추가하여 오토인코더가 코딩 층에서 활성화되는 뉴런 수를 감소시키도록 만듭니다. 예
를 들어 코딩 층에서 평균적으로
5
% 뉴런만 활성화되도록 강제할 수 있습니다. 이렇게 하면 오
토인코더가 적은 수의 활성화된 뉴런을 조합하여 입력을 표현해야 합니다. 결국 코딩 층의 각
뉴런은 유용한 특성을 표현하게 됩니다(만약 여러분이 한 달에 몇 마디 말만 할 수 있다면 꼭
필요한 말만 할 것입니다 ).
간단한 방법은 코딩 층에 (코딩을
0
과
1
사이 값으로 제한하기 위해) 시그모이드 활성화 함수
를 사용하고 큰 코딩 층 (예를 들면
300
개의 유닛을 가진 층)을 사용하는 것입니다. 코딩 층의
활성화 값에
ℓ
1
규제를 추가합니다 (디코더는 일반적인 디코더입니다 ).
sparse_l1_encoder = keras.models.Sequential([
keras.layers.Flatten(input_shape=[28, 28]),
keras.layers.Dense(100, activation="selu"),
keras.layers.Dense(300, activation ...