let us not love with words or tongue but actions and truth.

IT/머신러닝(수업) 12

임베딩

“한국어임베딩”(2020), 이기창, 에이콘출판주식회사의2장을 정리해본 내용입니다. 그전에 SVD에 대해서 간단히 알아보도록 하겠습니다. (간단히 하기위해 높임말 생략) SVD: Singular vector decomposition으로 특이값 분해라 한다. A라는 벡터를 SVD를 통해 아래와 같은 꼴로 만드는 것이다. 여기서 U와 V는 직교행렬임 (참고로 직교행렬이란, 모든 행벡터와 열벡터의 크기가 1인 것. 예를들어 단위(I) 벡터) U는 단어공간을 뜻함 U는 Ax(A^T)를 고유값 분해해서 얻어진 직교행렬이고, V는 (A^T) x A를 고유값 분해해서 얻어진 직교행렬이다. S는 대각행렬로 대각성분외에 모두 0인행렬이며, 대각성분에 특잇값(해당축의 중요도)이 큰 순서로 나열된다. 즉, S행렬의 특잇값이..

RBM과 DBN

지난번 적층 인코더와 유사한 느낌의 DBN과 그것의 기본 구조가 되는 RBM을 설명하고자 해요. 이 내용은 통계역학(통계 물리의 세부분야)에서 연구된 내용으로 Hinton(19830)이 볼츠만 머신(Boltzmann machine)을 제안한것에서 Restricted Boltzmann Machine (RBM)이 발전되었습니다. 위의 그림을 보면 RBM이 어떤 구조를 가지는지 명확히 알 수있습니다. 즉, 같은 종류의 노드사이에는 에지가 없는 볼츠만 기계라고 생각하면 됩니다. DBN(Deep Belief Network)은 이런 RBM을 여러 층 쌓아 만든 것으로 딥러닝을 널리 확산하는 기폭제로서의 의미가 큽니다. 다시 RBM으로 돌아가서, 구조와 원리에 대해서 살펴보겠습니다. RBM은 에너지 모델입니다. 즉,..

오토 인코더

오토 인코더에 대해서 오늘은 알아보겠습니다. 오토인코더는 5가지 특징을 가집니다. 1. 비지도학습이다. 2. 입력노드와 출력노드가 유사하게 학습하는 모델이다. (입력노드 수 = 출력노드 수) 3. 은닉층의 노드개수(m) < 입력층의 노드개수(d) 4. 은닉층은 입력데이터의 핵심정보를 표현한다. 5. 활성함수에 따라 비선형성, 선형성 모두 가질 수 있다. 오토인코더의 목적함수를 수식으로 표현해보겠습니다. X = { 𝐱1, 𝐱2, ⋯ , 𝐱𝑛 } 일 때, 알아내야 하는 매개변수 f 와 g라는 매핑함수 입니다. 그렇다면 목적함수는 아래와 같이 표현될 수 있습니다. 참고로, 선형 매핑을 사용하고, 은닉층의 개수가 입력층의 개수보다 작으며, 위의 식을 목적함수로 사용한다면, 오토인코더가 찾아주는 가중치는 PCA가..

2차 미분을 이용한 최적화

SGD와 같이 1차 미분을 통한 최저점을 찾는 방법에 대해서는 성능이 느리다는 단점이 있습니다. 지그재그로 경사를 내려가며 최저점을 찾기 때문에, 매우 속도가 느린 것이지요. 그 것의 대안으로 2차 미분을 이용한 최적화 방법이 있습니다. 2차 미분은 아래 그림의 빨간선과같이 더 빠른 최저점을 찾아갈 수 있는 대안을 제시합니다. 2차 미분을 활용하여, 매개변수를 업데이트 하는 수식은 아래와 같지요. 여기서 H(Hessian)은 2번 미분한 값입니다. 2차 미분의 가장 큰 단점은 아래와 같습니다. 1. 과다한 계산량 필요 2. 2차 미분이 불가능한 수식들이 존재 이 문제점을 해결하기 위해, 켤레그레디언트 방법과 유사뉴턴 방법이 등장했습니다. 왼쪽 그림은 SGD방법이고 오른쪽은 켤레그레디언트 방법입니다. SG..

규제 기법2 - Augmentation, Dropout, 앙상블

오늘은 규제기법 중에, Data Augmentation, Dropout, 앙상블 기법에 대해서 정리해보고자 한다. 여기서 Dropout은 지난번에 잠깐 언급한 분류에 의하면 명시적 기법에 속하며, Augmentation과 앙상블은 암시적 기법에 속한다. 규제 분류를 참고하려면 아래 내용에서 확인이 가능합니다. https://sarah0518.tistory.com/107 규제 기법 - Ridge & Lasso 규제 기법에는 크게 아래와 같은 2가지 종류가 있다. 1. 명시적 규제: 가중치 감쇠나 Dropout처럼 목적함수나 신경망 구조를 직접 수정하는 방식 2. 암시적 규제: 조기멈춤, 데이터 증대, 잡음 추가, sarah0518.tistory.com 그럼 다시 다양한 규제기법들에 대해 소개를 해보자. 1..

규제 기법 - Ridge & Lasso

규제 기법에는 크게 아래와 같은 2가지 종류가 있다. 1. 명시적 규제: 가중치 감쇠나 Dropout처럼 목적함수나 신경망 구조를 직접 수정하는 방식 2. 암시적 규제: 조기멈춤, 데이터 증대, 잡음 추가, 앙상블 등 이번에는 명시적 규제의 가중치 감쇠기법의 2가지인 Ridge와 Lasso에 대해 정리해보고자 한다. 아, 참고로 그전에 규제항이라는 것에 대해 간단히 살펴보자. 위 그림에서는 가중치를 업데이트 하는 공식에서 규제항을 더해줌으로써 큰 가중치값을 억제하는 효과를 가져온다. 단, 규제항은 weight에만 적용되며 절편에는 적용이 하지 않는다. 예를 들어, y=wx+b라고 하면 weight인 w에만 규제항을 추가하고, b에는 추가 하지 않는 것이다. 왜냐하면 weight는 노드의 상호작용을 표현하..

배치 정규화

오늘은 배치정규화와 배치정규화를 함으로써 얻을 수 있는 장점 3가지를 정리하고자 한다. 목적: 우선 배치 정규화란 은닉층을 거쳐 나온 값들의 분포가 적당히 골고루 분포되게 강제화 해주는 것이다. (가중치 초기화의 목적과 같다.) 이유: 배치정규화를 통해 vanishing gradient문제를 해결 할 수 있다. 예를 들어, 아래와 같은 sigmoid 함수를 보면 sigmoid를 미분한 값은 점선의 곡선처럼 나타나는데, 이는 양 끝단에서, vanishing gradient가 발생할 수 있다는 걸 알수있다. 이 해결책으로 제시된 것이 아래와 같은 그림의 batch normalization이다. 위의 그림이 보여주는 것은 activation의 input 즉, wx+b의 많은 값들을 sigmoid함수에서 기울기..

가중치 초기값- He, Xavier initialization

가중치 초기값 이번에는 가중치 초기값의 2가지 규칙과 초기화 기법 2가지 방법을 알아보겠습니다. 가중치 초기값에서는 아래의 2개의 규칙만 기억해주면 됩니다. 1. 가능하면 작은 값의 가중치를 사용 (단, 가중치 값들이 동일한 값을 갖으면 안됨) 2. 각 층의 활성화 함수를 거쳐 나온 값들은 적당히 골고루 분포되어있어야 함 2번 규칙을 조금 더 자세히 알아보도록 하죠. 아래 그림은 w값이 평균 0, 표준편차 1인 정규분포에서 초기화 시킨 후, sigmoid 활성화 함수를 거쳐 나온 값입니다. 결론을 말하면 위의 출력값들은 좋지 못한 값을 가지고 있습니다. 왜냐하면, sigmoid출력값이 0과 1에 치우쳐져 있기 때문에, back propagation을 진행하게 되면 아래 그림과 같이 sigmoid함수에서 ..