경사소실 문제 해결
 1. 경사 소실 문제   출력층으로부터 되돌아가면 각 층의 가중치를 수정하려면 미분 값, 즉 기울기가 필요하다. 그런데 층이 늘어나면서 기울기가 중간에 0이 되어버리는 경사 소실(vanishing gradient) 문제가 발생한다.               이는 시그모이드 함수의 미분 최대치는 0.3, 즉 1보다 작은 값이기 때문이다. 은닉층이 많아질수록 기울기는 점점 0에 가까워지게 된다.            이를 해결하기 위해서 시그모이드 함수를 대체할 수 있는 활성화 함수를 사용하려면 시그모이드 함수와 모양이 비슷하고 경사가 소실되지 않는 함수를 사용한다.                 1.1 쌍곡탄젠트 함수(Hyperbolic Tangent Function) tanh(x)     tanh(x) 함수 정의와 그래프이다.             * 시그모이드 함수  : 입력값 − ∞ <x< ∞에 대하여 함수값의 범위는  0<σ(x)<1     * 쌍곡탄젠트 함수  : 입력값 − ∞ <x< ∞에 대하여 함수값의 범위는 − 1<tanh(x)<1                        다음은 쌍곡탄젠트 함수의 경사를 구하기 위해 필요한  tanh(x) 의 도함수를 구하는 과정이다.           아래는 tanh′(x) 와  σ′(x) 의 그래프를 비교한 그림이다.    σ′(x) 의 최대값은  σ′(0)=0.3 이고  tanh′(x) 의 최대값은  tanh′(0)=1 이기 때문에 시그모이드 함수와 비교했을 때 경사가 소실되기 힘들다는 것을 알 수 있다 .         * TensorFlow에서 구현은 tf.nn.tanh() 이다.        1.2 ReLU(Rectified Linear Unit) 함수   tanh(x) 함수를 사용하면 미분값의 범위가 확장된다. 그러나 고차원 데이터를 다룰 경우에는 값이 커질 수 있어 다시 경사가 소실될 수 있다. 복잡...