본문 바로가기

IT 도서/Pytorch로 시작하는 딥 러닝 입문9

09. 순환 신경망(Recurrent Neural Network) wikidocs.net/60690 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 순환 신경망 (Recurrent Neural Network, RNN) 입력과 출력이 모두 시퀀스인 시퀀스 모델이다. RNN은 시퀀스 모델 중 가장 시본적인 시퀀스 모델이다. 입력에서 출력으로, 한 방향으로만 향하는 피드 포워딩 네트워크와 달리 RNN은 은닉층의 노드에서 활성화 함수를 통해 나온 출력값을 출력층으로 보내며, 다시 은닉층 노드의 다음 계산의 입력으로 보낼 수 있다. 은닉층의 메모리 셀은 각각의 시점에서 바로 이전 시점에서의.. 2021. 3. 3.
08. 단어의 표현 방법 wikidocs.net/60851 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 원-핫 인코딩 (One-hot encoding) 컴퓨터가 이해할 수 있도록 하기 위해 자연어 처리는 문자를 숫자로 바꾸는 기법들이 필요하다. 원 핫 인코딩은 이러한 기법 중 가장 기본적인 방법이다. 원핫 인코딩은 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고자 하는 단어의 인덱스에는 1을 부여하고 나머지에는 0을 부여하는 희소 표현 방식이다. 이러한 작업을 위해 단어 집합을 만들어 각 단어에 고유한 정수값을 부여해야 한다. 이렇게.. 2021. 3. 2.
07. 자연어 처리의 전처리 wikidocs.net/64517 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 자연어 처리의 전처리 자연어 처리는 일반적으로 토큰화, 단어 집합 생성, 정수 인코딩, 패딩, 벡터화의 과정을 거친다. 토큰화 (Tokenization) 텍스트를 단어 또는 문자 단위로 자르는 것 파이썬의 기본 함수인 split을 사용할 수도 있고, 영어의 경우 spaCy와 NLTK를 사용할 수도 있다. 영어의 경우 띄어쓰기 단위로 토큰화를 해도 단어들 간 구분이 명확하다. 하지만 한국어는 조사, 접사 등으로 단순 띄어쓰기로 나누면 같.. 2021. 3. 2.
06. 합성곱 신경망 (Convolution Neural Network) wikidocs.net/62304 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 합성곱 신경망 이미지 처리에 탁월한 성능을 보이는 신경망 합성곱층과 풀링층으로 구성된다. 기존의 DNN은 반드시 데이터를 1차원 데이터로 Flatten 시켜야 했다. 하지만 이는 이미지의 공간적인 구조 정보의 유실을 만들었고, 학습을 불안정하게 만들었다. 그래서 이미지의 공간적인 구조 정보를 보존하면서 학습을 할 수 있는 방법이 필요해졌고, 이를 위해 CNN이 등장했다. 채널 (Channel) 이미지는 (높이, 너비, 채널)로 이루어진.. 2021. 3. 2.
05. 인공 신경망 (Artificial Neural Network) wikidocs.net/60021 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 하이퍼 파라미터와 매개변수 하이퍼파라미터는 값에 따라 모델의 성능에 영향을 주는 매개변수 매개변수는 가중치와 편향 같이 학습을 통해 바뀌는 변수 일반적으로 하이퍼 파라미터는 사용자가 직접 정해줄 수 있는 변수이고, 매개 변수는 사용자가 아닌 모델이 학습하는 과정에서 결정하는 변수이다. 훈련용 데이터로 훈련을 시킨 모델을 테스트 데이터로 검증을 하며 하이퍼 파라미터를 튜닝한다. 분류와 회귀 (Classifier and Regression.. 2021. 3. 2.
04. 소프트맥스 회귀 (Softmax Regression) wikidocs.net/59678 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 원 핫 인코딩 (One-Hot Encoding) 범주형 데이터를 처리할 때 레이블을 표현하는 방법 선택해야 하는 선택지의 개수만큼 차원을 가지며, 각 선택지의 인덱스에 해당하는 원소는 1, 나머지는 0으로 채우는 표현 방법 원 핫 인코딩으로 표현한 벡터를 원 핫 벡터라고 한다. 다중 클래스 분류 (Multi-class Classification) 둘 중 하나만을 정하는 이진 분류와 달리 세 개 이상의 선택지 중 답을 고르는 문제 다중 .. 2021. 3. 1.
03. 로지스틱 회귀 (Logistic Regression) wikidocs.net/57805 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 이진 분류 (Binary Classifier) 둘 중 하나를 고르는 문제 시험 점수를 보고 합격, 불합격을 결정하는 게 예시. 이진 분류를 그래프로 그리면 S자 형태가 나타나는데, 이러한 S자 형태의 그래프를 그리는 데 시그모이드 함수가 사용된다. 시그모이드 함수 (Sigmoid Function) W값은 경사도에 영향을 미친다. (경사도가 W의 크기에 비례) b의 값은 커지면 좌로, 작아지면 우로 그래프가 이동한다. 시그모이드 함수는 .. 2021. 3. 1.
02. 선형 회귀 (Linear Regression) wikidocs.net/53560 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인은 위의 링크에서 확인하실 수 있습니다. 선형 회귀 연차와 연봉을 예시로 들면, 연차가 쌓일수록 연봉은 올라가게 된다. 혹은 체지방과 운동량을 예시로 들면 운동량이 많아지면 체지방이 줄어들게 된다. 이처럼 수학적으로 어떤 요인의 수치에 따라 특정 요인의 수치가 영향을 받는다. 이 때 다른 변수를 변하게 하는 변수를 x, 다른 변수에 종속적인 변수를 y라고 하자. x는 독립적으로 변할 수 있는 데 반해 y는 x의 값에 종속적으로 결정된다. 그렇기에 x를 독립 변수, y를 종속 .. 2021. 3. 1.
01. 파이토치 기초 (Pytorch Basic) wikidocs.net/book/2788 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net *해당 글은 학습을 목적으로 위의 포스팅 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다. 상세한 내용 및 전체 내용 확인을 원하신다면 도서 구매를 추천드립니다. 파이토치 패키지 기본 구성 torch 메인 네임 스페이스. 텐서 등의 수학 함수가 포함됐으며, Numpy와 유사한 구조를 가진다. torch.autograd 자동 미분을 위한 함수 포함 torch.nn 신경망을 구축하기 위한 다양한 데이터 구조나 레이어 정의 torch.optim 확률적 경사 하강법을 중심으로 한 최적화 알고리즘 구현 torch.utils.data SGD의 반복 연산 실행 시 사용하는 미니 배치용 유틸리티 함수 .. 2021. 3. 1.