분류 전체보기 310

request <Response [401]>

401(Unauthorized) 에러는 client가 인증되지 않았거나 정보가 부족해 요청이 거부되는 에러를 의미한다. 클라이언트가 제대로 인증되지 않았기네 request를 정상적으로 처리할 수 없다는 것을 의미한다. API를 사용하는 경우 client의 id와 secret 을 다시 한 번 확인한 후 다시 요청한다면 에러를 해결할 수 있다. requests 함수를 사용하면 에러로 출력되고, urllib.request를 사용하면 HTTP Error 401: Unauthorized 에러가 출력된다.

Python 2022.03.11

[Calculus] Jacobian matrix

딥러닝에서는 backpropagation을 통해 가중치를 갱신하여 cost function을 최소화 하는 방향으로 접근한다. 우리는 backpropagation을 수행할 때 미분을 통해 신호를 전달하는 것을 알고 있다. 선형 모델을 미분할 경우 다음과 같은 가중치 벡터($w$)가 산출된다. \[ \frac{\partial w^Tx}{\partial x} = = \frac{\partial x^Tw}{\partial x} = w \] 이차 모델을 미분할 경우 행렬($A, A^T$)과 벡터($x$)의 곱으로 산출된다. \[ \frac{\partial x^TAx}{\partial x} = (A + A^T)x \] 벡터를 스칼라로 미분할 경우 아래와 같은 결과가 도출된다. \[ \frac{\partial \bol..

[Calculus] 수치 미분(numerical differential)

수치미분(Numerical differential)은 함수의 일부분을 다항식으로 변경한 후 변경한 다항식을 미분하는 것이다. 미분에는 해석적미분(Analytical differential)과 수치미분(Numerical differential)이 존재하는데, 해석적미분은 우리가 $\frac{df}{dx}$와 같은 형태로 공식을 통해 논리적인 전개로 하여금 미분을 수행하는 것을 일컫는다. 수치미분은 해석적미분으로는 불가능한 문제를 수치적으로 접근하여 근사하는 방식을 일컫는다. 컴퓨터의 경우 사람과는 다르게 해석적미분이 불가능하기 때문에, 수치적으로 접근해 근사하는 방식을 사용하고 있다. 수치미분은 아주 작은 차분으로 미분함으로써 미분값을 근사하는 방식이다. 실제로 python에서 구현할 때에는 반올림 오차 ..

[Statisctics] entropy, cross entropy, KL-Divergence

entropy의 개념은 정보이론(Information theroy)에서 사용하는 단어이다. entropy를 다루기 이전 다음의 경우를 생각해보자. 예를 들어 '주사위에서 3보다 큰 수가 나왔다.'라는 것과 '주사위에서 5가 나왔다'가 있을 때 어떤 것이 더 많은 정보를 전달할 수 있을까? 당연히 '주사위에서 5가 나왔다'라는 정보가 더 많은 정보를 전달한다고 할 수 있다. 주사위에서 3보다 큰 수가 나왔다는 사실보다 주사위에서 5가 나온다는 정보가 더 많은 정보를 전달하기 때문이다. self-information 어떤 사건에 대해 일어날 확률을 추정할 수 있다면 사건에 대한 정보량을 측정할 수 있게 된다. 우리는 확률변수(probability variable)를 $x$라고 하고 $x$의 정의역을 $\{e..

[Git] github profile 꾸미기

github는 개발자나 컴퓨터 언어를 사용하는 사람이라면 대부분 알고 있을 것이다. 여기서는 github을 꾸며보도록 하자! 공식문서를 참고해 작성하였다. 1. 레파지토리(repository) 만들기 일단 github에 작성하기 위해서는 새로운 레파지토리를 생성해야 된다. 대부분의 경우 본인 이름을 레파지토리 이름으로 설정한다. 우리는 레파지토리 내에 READBE.md 라는 파일을 통하여 꾸미기 때문에 'Add a README.md file'을 체크해주자. 또한, Public을 체크해주어야지만 남들이 우리의 레파지토리를 볼 수 있다. 2. README.md 사람들이 레파지토리를 생성한 것을 구경하면 많은 이모티콘을 사용하여 꾸며놓았다. 공식문서를 확인하면 여기에서 이모티콘을 검색해 사용할 수 있다고 한다..

Git 2022.03.11

AutoRec: Autoencoders Meet Collaborative Filtering (WWW'15)

본 논문에서는 Autoencoder에 기반한 새로운 CF 모델인 AutoRec을 제안하였다. AutoRec은 기존의 Neural Network 에 비해 representational 하고 computational advantages가 있다고 주장하며, 현재의 SOTA(State-of-the-Art) 성능에 도달하는 것을 입증했다. 그럼 이제 AutoRec이 어떤 모델인지 살펴보자. AutoRec Model 평점 기반 CF(Collaborative Filtering)에서는 사용자의 수는 $m$, 아이템의 수는 $n$이라고 설정할 경우 사용자-아이템 간 상호작용을 표현하는 평점 행렬 $R$은 $R \in \mathbb{R}^{m \times n}$가 되며, 사용자 $u$는 $u \in U = \{1,...,..

[Deep Learning] Restricted Boltzmann Machines(RBM)

Restricted Boltzmann Machines(RBM)은 제한된 볼츠만 머신이라는 뜻이다. RBM은 Generative Model이라고도 부른다. 일반적으로 DNN, CNN, LSTM 등과 같은 Deterministic Model 과는 다른 방식의 접근 방법이다. 우리가 일반적으로 사용하는 Deterministic Model은 loss function을 '지표'로 활용해 오차를 줄이는 것을 목표로 하지만,Generative Model의 경우 확률밀도함수(probability density function; pdf)를 모델링하는 것을 목표로 삼는다. 이미지를 예로 들면 이미지를 생성할 때 눈, 코, 입 등의 다양한 부분을 생성한다고 가정하자. 그렇다면 눈의 모양은 동그라미일수록 확률값이 높을 것이다..

Deep Learning 2022.03.08

[Books] 한국어 전처리

이기창님께서 작성하신 한국어 임베딩을 정리 및 요약했습니다. 영어의 경우 상대적으로 전처리하는 작업이 수월하다. 하지만 한국어의 경우 띄어쓰기가 사람마다 제각각일 수 있고, 단어의 순서가 바뀌더라도 해석하는데 있어 문제가 되지 않는다. 그로 인해 다른 언어에 비해 전처리하는 과정이 어렵다. 하지만 이 책에서는 한국어를 전처리하는 과정을 상세히 작성해주었기 때문에 많은 도움이 될 것이다. 본 책에서는 위키피디아, 네이버 영화 말뭉치 등 여러 오픈 데이터를 기반으로 한국어 전처리를 수행하였다. 한국어 형태소 분석기에는 은전한닢, 꼬꼬마, 한나눔, Okt, 코모란 등 5개의 오픈소스 형태소 분석기가 존재하는데 KoNLPy에서 모두 사용 가능하도록 제공해주고 있다. 또한, 형태소 분석기를 지도 학습 형태소 분석..

[Books] 오차역전파란? Backpropagation

오차 역전파는 딥러닝의 기초라고 할 수 있다. 이전까지 우리는 수치 미분을 통해 기울기를 구해 학습했지만, 이 방법은 매우 시간이 오래 걸린다. 그렇기에 딥러닝에서는 가중치의 기울기를 효율적으로 계산하는 오차역전파법(backpropagation)을 사용한다. 위와 같이 왼쪽에서 오른쪽으로 노드$^{\mathsf{node}}$에서 엣지$^{\mathsf{edge}}$를 거쳐 계산이 되는 방식을 순전파(forward propagaction)이라고 한다. 그 반대로 진행하는 것을 우리는 역전파라고 부른다. 역전파는 순전파와 달리 굵은 선을 표시하며 이 전파는 '국소적 미분'을 전달하고 아래의 수치는 미분 값을 의미한다. 여기서 '국소적 미분'을 전달하는 원리는 연쇄법칙(chain rule)에 따라 전달하게 된..

[Books] 신경망 학습하기 (loss function, gradient descent)

밑바닥부터 시작하는 딥러닝1을 리뷰합니다. 이전 글에서 선형으로 분리가 되는 문제의 경우 데이터로부터 자동으로 학습할 수 있다. 하지만 비선형 분리의 문제의 경우 자동으로 학습하는 것이 불가능하기 때문에 비선형 문제에서는 손실 함수(loss function)라는 개념이 나오게 된다. 본 책에서는 신경망 학습에서는 현재의 상태를 '하나의 지표'로 표현한다고 언급했다. '지표'를 가장 좋게 만들어주는 가중치를 탐색하는 것이 목표라고 할 수 있다. 여기서 '지표'는 바로 손실 함수이다. 손실함수는 다양한 함수들이 존재하지만, 일반적으로 오차제곱합(Sum of Squares for Error, SSE), 교차 엔트로피(Cross Entropy)를 많이 사용한다. 손실함수(loss function) 오차제곱합(S..

반응형