지금, 나는 

Art is anything you can get away with.

반응형

Programming/혼공머신 8기.py 8

추가 학습(2)_순환 신경망

09-1 순차 데이터와 순환 신경망 이전에 이미지 데이터에 대해 최적화된 신경망을 다뤘다면 이번에는 텍스트 데이터에 최적화된 신경망이다. 텍스트 데이터의 경우 우리가 늘 써봐서 알 듯 굉장히 많은 의미를 함축해서 말할 수 있다. 또한, 속담도 있듯 말은 끝까지 들어봐야 한다. 즉, 텍스트는 시계열 데이터와 같이 순서에 의미가 있는 순차 데이터이다. 텍스트를 단어별로 리스트에 넣어도 단어의 순서를 마구 섞어서 주입하면 안 된다. 여기서는 간단히 긍정과 부정을 나누는 모델을 만들 것이다. 따라서 순차 데이터는 이전에 입력한 데이터를 기억하는 기능이 필요하다. 그래서 출력을 다시 입력으로 사용하는 순환 신경망(RNN)을 이용한다. 참고로 데이터의 흐름이 앞으로만 전달되는 신경망을 피드포워드 신경망이라고 한다...

추가 학습(1)_합성곱 신경망

이전 단원에서 딥러닝에 대한 개괄적인 내용을 배웠다. 이번 단원은 이미지 학습에 강력한 효과를 보이는 합성곱 신경망에 대해 알아보자. 08-1 합성곱 신경망의 구성 요소 인공 신경망은 전체 입력층에 대해 전부 가중치를 곱하고 합해서 각 뉴런 별로 출력했다. . 이와 달리 합성곱 신경망은 일부 데이터를 골라 가중치를 곱하고 한 칸씩 이동하며 1개의 뉴런에 대해 여러 개의 출력을 한다. 이렇게 이동하며 가중치를 곱하고 출력하는 단위를 따로 필터나 커널이라고 부른다. 이렇게 합성곱 계산을 통해 얻은 출력은 특성 맵이라고 부른다. . 참고로 각각의 특성 맵에 대한 커널의 각 가중치는 서로 다르다. 따라서 여러 개의 필터를 사용하면 특성맵의 차원(깊이)이 늘어난다. 그리고 이러한 단위는 밀집층과 구별된 합성곱 층..

혼자 공부하는 머신러닝 + 딥러닝 [6주차]_fin

07-1 인공신경망 드디어 딥러닝이다. 여기서는 MNIST라는 딥러닝에서 유명한 데이터셋과 텐서플로(케라스)라는 구글에서 만든 유명한 딥러닝 라이브러리를 이용한다. 딥러닝 라이브러리는 머신러닝 라이브러리와 다르게 벡터와 행렬 연산에 매우 최적화되어 있는 그래픽 처리장치인 GPU를 사용하여 인공 신경망을 훈련한다. 우리가 다룰 데이터는 28*28크기의 이미지 60,000개이다. 0~9까지의 10가지 종류로 이루어진 패션 MNIST를 사용한다. (6장에서와 같이 이미지는 모두 흑백) 훈련 샘플이 60,000개나 되기 때문에 6장에서처럼 전체 데이터를 한꺼번에 사용해 모델을 훈련하는 것보다 하나씩 꺼내서 모델을 훈련하는 방법이 더 효율적으로 보인다. 따라서 확률적 경사 하강법을 사용할 것이다. 4장에서 분류모..

혼자 공부하는 머신러닝 + 딥러닝 [5주차]

Chapter 06 비지도 학습 . 지도학습을 끝내고 딥러닝에 본격적으로 들어가기 전 비지도 학습에 대해 알아보자 06-1 군집 알고리즘 비지도 학습은 지도학습과 다르게 타깃이 주어지지 않는다. 즉, 주어진 데이터를 통해 라는 것을 추출해야 한다. 여기서는 사진을 종류별로 분류하려 한다. . 우리가 눈으로 보고 분류하듯 픽셀을 이용해서 분류해보자. 100*100픽셀의 사과로 추정되는 사진이다. 한 픽셀은 0~255까지의 색상을 나타낼 수 있고 0에 가까울수록 검게 보인다. (컴퓨터는 출력을 위해 계산을 하는데 이때 의미를 부여하기 위해 필요 없는 배경을 0에 가깝게 배정한다) . 이 픽셀정보는 위에서부터 한 행씩 읽힌다. 즉, 100*100의 2차원 배열이 10,000자리의 1차원 배열이 된다. 그리고 ..

혼자 공부하는 머신러닝 + 딥러닝 [4주차]

Chapter 05 트리 알고리즘 . 자료구조나 알고리즘을 공부해 보면 트리 형태나 노드 형태를 보게 되는데 뭔가 이해하기 쉬우면서도 어려운 구조다 이 책에서는 그래도 쌩으로 구현하는 게 아니라 있는 모델을 잘 활용해서 결과를 내는 느낌이라 학습에는 큰 어려움이 없을 것 같다. 05-1 결정 트리 다루는 데이터의 크기가 몇 천개로 늘었다.. 이전에 공부하는 로지스틱 회귀 모델은 데이터를 직접 학습해 계수와 가중치를 알맞게 조절해 함수를 만들었다. 하지만 특성이 많아질수록 모델을 설명하기 어렵다. 반면 결정 트리 모델은 이유를 설명하기 쉽다. 스무고개처럼 계속 예/아니요 질문으로 분류하며 정답을 맞춰나간다. 위 그림을 보면 각 노드가 어떤 특성으로 나뉘는지 이해하기 쉽다. 테스트 조건에 따라 총 샘플들이 ..

혼자 공부하는 머신러닝 + 딥러닝 [3주차]

Chapter 04 다양한 분류 알고리즘 . 이제부터 정신 차리고 따라가야 한다.. 최소한 이해라도 하려면 04-1 로지스틱 회귀 내가 라는 것을 처음 보게 된 것은 한 딥러닝 입문 책이었다. 그 책에서는 가장 먼저 선형 회귀를 앞세워 보여주면서 이어 로지스틱 회귀를 설명했다. 당시에는 전혀 이해되지 않았는데 사실 지금도 쉽게 이해되지 않는다. 로지스틱도 선형 회귀만큼 중요한가보다. 우리가 '분류'라는 작업을 할 때는 근거가 있어야 한다. 주로 그 근거는 각 데이터의 특성에서 따온다. 우리는 그 특성들이 얼마나 뚜렷한가의 차이로 분류한다. 즉, 확률로 표현할 수 있다. . 앞서 겪었듯 충분히 학습된 선형 회귀는 예측에 신뢰도가 높다. 각 데이터의 특성을 기준으로 패턴을 학습해 하나의 함수로 그룹을 만들 ..

혼자 공부하는 머신러닝 + 딥러닝 [2주차]

Chapter 03은 회귀 알고리즘과 모델 규제이다. 지도 알고리즘은 크게 분류와 회귀로 나뉜다. 회귀는 통계의 꽃받침이라 할 수 있을 정도로 중요한 토대가 되는 개념이다. 간단히 말하면 변수 사이의 상관관계를 분석하고 예측하는 방법이다. 모든 데이터들이 하나의 함수에 적용될 수 없기 때문에 모델 규제를 통해 함수(상관관계)가 보편적인 패턴을 따르도록 제어할 수 있다. 03-1 k-최근접 이웃 회귀 왜인지 모르겠지만 이번에는 농어의 길이, 높이, 두께 데이터로 무게를 예측한다고 한다. 만약 예측의 정확도가 높고 신뢰할만하다면 일의 효율이 엄청나게 좋아질 것 같긴 하다. 주인공은 간단히 해결책을 생각해냈다. 이전 단원에서 사용한 k-최근접 이웃 분류 알고리즘을 응용해 주변 데이터의 평균을 내서 무게를 예측..

혼자 공부하는 머신러닝 + 딥러닝 [1주차]

어쩌다가 SNS에서 혼공학습단 8기를 모집한다는 글을 보게 됐고 마침 머신러닝, 딥러닝 쪽에 관심이 있었고 뭔가 내가 찍먹해보고 싶은 내용들이 담긴 책인 것 같아서 이렇게 하게 되었다ㅎㅎ 전체적으로 크게 어렵지 않고 어느정도 관심 있는 사람들에게는 정말 '찍먹'하기 좋은 난이도의 책이다. 쓰이는 알고리즘 같은 경우에도 책에 사례같은 내용으로 어떤 상황에 어떤 사고 흐름으로 코드를 전개하는 지 보여줘서 이해하기 쉽고 재밌게 공부할 수 있다. (파이썬, 선형대수학, 기초통계학을 어느정도 다루고 공부했다면 어려움 없이 완독할 수 있을 겁니다.) 01-1 인공지능과 머신러닝, 딥러닝 책을 시작하기 앞서 인공지능, 머신러닝, 딥러닝이 무엇인지 소개하는 절이다. 인공지능: 사람처럼 학습하고 추론할 수 있는 지능을 ..

728x90