딥러닝 4

서브워드 토큰화(Subwords Tokenization)

이번 포스팅에서는 NLP task에서 가장 많이 활용되고 있는 2가지 서브워드 토큰화 방법을 다뤄보도록 하겠습니다. 기존의 토큰화 방식(단어 단위)의 문제점은 한글과 영어처럼 형태소가 풍부하고 변형이 많은 언어에서 단어 수준의 토큰화는 너무 많은 어휘를 생성할 수 있습니다. 서브워드 방식은 단어를 더 작은 조각으로 나누어 데이터로부터 학습할 수 있게 하며, 이를 통해 모델의 일반화 성능을 높입니다. 서브워드의 두가지 큰 특징은 다음과 같습니다. 1. OOV(Out of Vocabulary) 문제 해결CV의 이미지 데이터는 크기의 차이는 있어도 개별 픽셀 값은 0~255로 같은 값을 가지고 있습니다.  NLP에서는 자주 사용하는 단어만을 단어사전에 등록해두게 되는데, 이 경우 신조어나 단어 사전에 등록되지..

신경망 분류 문제 (classification)

밑바닥부터 시작하는 딥러닝을 공부하며 정리한 글입니다.자세한 내용은 생략하고 핵심만 담았습니다.  1. 출력층 설계하기  신경망은 분류와 회귀 모두에 이용할 수 있습니다. 다만 둘 중 어떤 문제냐에 따라 출력층에서 사용하는 활성화 함수가 달라집니다. 일반적으로 회귀에는 항등 함수를, 분류에는 소프트맥스 함수를 사용합니다.  간단하게 회귀와 분류에 대해서 설명하자면, 기계학습 문제는 분류와 회귀로 나뉩니다. 분류는 데이터가 어느 클래스에 속하느냐는 문제입니다. 사진 속 인물의 성별을 분류하는 문제가 여기에 속합니다. 한편, 회귀문제는 입력 데이터에서 (연속적인)수치를 예측하는 문제입니다. 사진 속 인물의 몸무게를 예측하는 문제가 회귀입니다.  1) 항등 함수와 소프트맥스 함수 구현하기  항등 함수는 입력을..

신경망 (Neural Network)

밑바닥부터 시작하는 딥러닝을 공부하며 정리한 글입니다.자세한 내용은 생략하고 핵심만 담았습니다. 이번 장은 행렬, 내적, 함수를 기초지식으로 알고 있어야 이해할 수 있습니다. 1. 퍼셉트론에서 신경망으로    신경망을 그림으로 나타내면 그림1과 같이 됩니다. 여기에서 가장 왼쪽 줄을 입력층, 맨 오른쪽 줄을 출력층, 중간 줄을 은닉층이라고 합니다.  앞서 설명했던 퍼셉트론을 다시 살펴보겠습니다.  $$ y = \begin{cases} 0, & (b + w_1x_1 + w_2x_2 \leq 0) \\1, & (b + w_1x_1 + w_2x_2 > 0) \end{cases} $$ [식 1]   여기서 $b$는 편향을 나타내는 매개변수로 뉴런이 얼마나 쉽게 활성화되느냐를 제어합니다. 한편, $w_1$과 $w..

퍼셉트론 (Perceptron)

밑바닥부터 시작하는 딥러닝을 공부하며 정리한 글입니다.자세한 내용은 생략하고 핵심만 담았습니다.1. 퍼셉트론이란? 퍼셉트론은 신경망(딥러닝)의 기원이 되는 알고리즘으로 다수의 신호를 입력으로 받아 하나의 신호를 출력합니다.   (그림1)은 입력으로 2개의 신호를 받은 퍼셉트론의 예입니다. $x_1$과 $x_2$는 입력 신호, $y$는 출력 신호, $w_1$과 $w_2$는 가중치를 뜻합니다. 그림의 원을 뉴런 혹은 노드라고 부릅니다. 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해집니다($w_1x_1,w_2x_2$). 뉴런에서 보내온 신호의 총합($y$)이 정해진 한계를 넘어설 때(활성화)만 1을 출력합니다. 그 한계를 임계값이라 하며, $\theta$(theta, 세타)기호로 나타냅니다. 이상..