전체 글101 선형대수와 해석기하의 기초 벡터의 기하학적 의미 * N차원 벡터 a는 N차원의 공간에서 다음과 같다고 생각할 수 있다. 1) 벡터 a의 값으로 표시되는 점(point) 또는 2) 원점과 벡터 a의 값으로 표시되는 점을 연결한 화살표 * 벡터를 화살표로 생각할 때, 길이와 방향을 유지한 채 평행이동하는 것이 가능하다. 벡터의 길이 * 벡터 a의 길이는 norm $ ||a|| $로 정의한다. 스칼라와 벡터의 곱 * 양의 실수와 벡터를 곱하면 벡터의 방향이 변하지 않고 길이가 실수배가 된다. * 음의 실수와 벡터를 곱할 경우 벡터의 방향이 반대가 되고 길이가 실수배가 된다. 단위 벡터 * 방향에 상관 없이 길이가 1인 벡터를 단위벡터(unit vector)라고 한다. 예를 들면 다음과 같다. * 영벡터가 아닌 임의의 벡터 x에 대해 다.. 2021. 11. 22. 15.4 긴 시퀀스 다루기 *RNN의 문제점은 긴 sequence를 처리할 때 잘 작동하지 않는다는 점이다. 이유는 아래 두 가지가 있다. 1) gradient vanishing problem, gradient exploding problem 2) 입력의 첫 부분에 대한 정보를 기억하지 못하는 문제 15.4.1 불안정한 그레디언트 문제와 싸우기 * RNN에서도 역시 가중치 초기화, optimizer, dropout 등을 사용하여 불안정한 gradient를 조절할 수 있다. * 하지만, ReLU와 같이 수렴하지 않는 활성화 함수의 경우 큰 도움이 되지 않는다. RNN의 경우 DNN과 달리 한 층에서 뉴런은 여러 time step에 걸쳐 동일한 가중치를 사용하게 된다. 만약, gradient descent를 통해 첫 번째 time s.. 2021. 11. 21. 15.2 RNN 훈련하기 BPTT(Backpropagation through time) * time step으로 네트워크를 펼치고 보통의 역전파를 사용함으로서 RNN을 훈련시키는 방법을 뜻한다. 하지만 RNN 클래스에서는 이러한 펼치는 작업을 따로 하지는 않는다. 다만 역전파 설명을 돕기 위해 펼쳐놓았다고 표현하는 것이다. * 일반적인 Backpropagation 과정과 동일하게 정방향 계산을 통해서 도출한 output으로 cost함수를 계산하고, 이를 다시 역방향 계산하여 가중치를 update시키는 방식을 동일하게 사용한다. * 위와 같이 $Y_0, Y_1$을 무시하고 일부 output들만 cost 계산에 사용할 수 있다. output 반영 여부는 network마다 다를 것이다. 예를 들어 sequence to vector n.. 2021. 11. 21. 15.1 순환 뉴런과 순환 층 순환 뉴런 * 위 그림의 왼쪽 뉴런 한 개로 구성된 모형은 가장 간단한 RNN 모형이다. 이를 시간 축으로 표현하면 오른쪽 그림과 같이 표현할 수 있다. * 각 time step t 마다 이 순환 뉴런은 이번 step에 입력으로 들어오는 $x_t$와 이전 step의 출력인 $y_{t-1}$을 입력으로 받습니다. * 첫 번째 time step에서는 이전 step의 출력이 없으므로 $y_{t-1}$을 일반적으로 0으로 설정합니다. 순환 뉴런으로 된 층 * 각 순환 뉴런은 입력 $x_t$를 위한 가중치 하나, 출력 $y_{t-1}$를 위한 가중치 하나 총 2개의 가중치 벡터 $w_x, w_y$를 가진다. 이를 순환 층 전체로 확장하면 가중치 행렬 $W_x, W_y$라고 볼 수 있다. * 하나의 sample에 .. 2021. 11. 21. 이전 1 ··· 17 18 19 20 21 22 23 ··· 26 다음