목록Categories (1096)
KoreanFoodie's Study
삶은 고통이다. . . . 그게 전부다. 나는 왜 공부를 하는 걸까. 그 시절 왜 그렇게 공부가 전부라고 생각했었을까. 평소에는 후회하지 않았지만, 때때로 다른 길을 걷는 사람들을 보며 부러움에 몸부림치는 내가 있다. 참 어렵다. 행복이라는 것은.. 만족이라는 것은 너무나도 요원한 감정이다. 밑 빠진 항아리는 채우는 것이 아니라 강물에 던져 놓아 물이 계속 흐르도록 만드는 것이 항아리를 제일 기쁘게 하는 방법일지도 모른다. 그럼 항아리를 항상 물에 흠뻑 젖게 만드려면 어떻게 해야 하는가? 끝없는 쾌락인가? 아니면 항아리를 부수면 되는 걸까? 톨스토이가 사람은 무엇으로 사느냐는 질문에 '사랑'이라고 답한 바 있다. 당시 나는 이것을 비웃고 비이성적이라며 비판했었다. 그런데 지금은 생각을 조금 바꾸려 한다...
해당 포스팅은 한빛 미디어에서 출판한 '밑바닥부터 시작하는 딥러닝'이라는 교재의 내용을 따라가며 딥러닝 튜토리얼을 진행하고 있습니다. 관련 자료는 여기에서 찾거나 다운로드 받으실 수 있습니다. 오차역전파법 이전까지는 신경망의 가중치 매개변수의 기울기를 수치 미분을 사용해 구했다. 수치 미분은 단순하고 구현도 쉽지만 계산 시간이 오래 걸린다는 단점이 있다. 이번 강에서는 가중치 매개변수의 기울기를 효율적으로 계산하는 '오차역전파법(backpropagation)'을 배워보자. 오차역전파법을 제대로 이해하는 방법은 크게 두 가지가 있다. 하나는 수식을 통한 것이고, 다른 하나는 계산 그래프를 통한 것이다. 해당 포스트에서는 계산 그래프를 이용해 시각적으로 원리를 이해해 보자. 더 자세한 내용을 알고 싶다면, ..
해당 포스팅은 한빛 미디어에서 출판한 '밑바닥부터 시작하는 딥러닝'이라는 교재의 내용을 따라가며 딥러닝 튜토리얼을 진행하고 있습니다.관련 자료는여기에서 찾거나 다운로드 받으실 수 있습니다. 수치 미분 이전 포스트에서, 매개 변수의 미분값(기울기)값으로 최적의 매개변수를 찾아나가는 것이 신경망을 학습시키는 원리라고 설명한 바 있다. 그렇다면, 이 기울기 값을 구하기 위해 먼저 미분 함수부터 구현해 보도록 하겠다. 미분 미분의 정의식은 다음과 같다. 나이브하게 구현한다면, 다음과 같이 구현해볼 수 있을 것이다. def numerical_diff(f, x): h = 10e-50 return (f(x+h) - f(x)) / h함수의 이름은 수치 미분(numerical differentiation)..
해당 포스팅은 한빛 미디어에서 출판한 '밑바닥부터 시작하는 딥러닝'이라는 교재의 내용을 따라가며 딥러닝 튜토리얼을 진행하고 있습니다.관련 자료는여기에서 찾거나 다운로드 받으실 수 있습니다. 이번 포스트에서는 신경망 학습에 대해 다루어 보도록 하겠다. 여기서 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 신경망이 학습할 수 있도록 해주는 지표에는 손실 함수가 있는데, 이 손실 함수의 결과값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표이다. 데이터에서 학습한다! 데이터 주도 학습 기계학습은 데이터가 생명이다. 데이터를 통해 패턴을 발견하고 모델을 만들 수 있기 때문이다. 위의 예시에서 숫자 '5'를 판별한다고 해 보자. '5'를 분류하는 프로그램을 직접..
가끔 자료수집을 하다보면 신문 기사 등의 데이터를 대량으로 수집해야 되는 경우가 생긴다. 파이썬은 워낙 크롤러 만들기 좋게 requests나 BeautifulSoup등의 모듈이 그 기능을 제공해 주지만, 때로는 사이트에서 API를 직접 제공하기도 한다. 네이버의 경우에는 오픈 API(심지어 로그인도 필요 없다!)를 이용해 검색을 통한 자료를 수집할 수 있도록 도와준다. 그럼 이번 포스트에서는 이 오픈 API를 이용해서 내가 검색한 키워드로 수집한 뉴스기사들의 제목과 링크를 저장하는 방법을 알아보록 하겠다. 먼저, 네이버 데이터랩으로 가면, 다음과 같은 창이 뜨는데, 저기서 `오픈 API 신청`을 눌러 어플리케이션을 만들어 주자. 어플리케이션은 대충 만들어도 된다. 어플리케이션을 만들면 다음과 같이 "Cl..
해당 포스팅은 한빛 미디어에서 출판한 '밑바닥부터 시작하는 딥러닝'이라는 교재의 내용을 따라가며 딥러닝 튜토리얼을 진행하고 있습니다. 관련 자료는 여기에서 찾거나 다운로드 받으실 수 있습니다. 3층 신경망 구현하기 이번에는 3층 신경망에서 수행되는, 입력부터 출력까지의 처리(순방향 처리)를 구현해 보자. 이를 위해 전에 설명한 넘파이의 다차원 배열을 사용한다. 위 그림은 3층 신경망으로, 입력층(0층)은 2개, 첫 번째 은닉층(1층)은 3개, 두 번째 은닉층(2층)은 2개, 출력층(3층)은 2개의 뉴런으로 구성된다. 예시를 통해 이 과정을 더 자세히 살펴보자. import numpy as np X = np.array([1.0, 0.5]) W1 = np.array([[0.1, 0.3, 0.5], [0.2,..
해당 게시글은 오세라비 작가님이 2018년 11월 26일, 서울대학교에서 진행했던 강연에 대한 후기글입니다. 오세라비님 강연 후기 정말 오랜만에 글을 써 보는 것 같습니다(코드, 보고서 제외). 그만큼 오늘 오세라비님의 강연은 꽤나 큰 자극이었네요. KBS에서 촬영도 하러 왔으니, 아마 풀 영상은 힘들어도 편집본이나 클립 정도는 올려 주시지 않을까 생각합니다. 말 그대로 ‘후기’도 아닌 ‘감상’인지라, 강연에 대한 내용을 요약하거나 하지는 않습니다. 그저 의식의 흐름을 따라 몇 자 적어볼까 합니다. 0. 페미니즘은 어디서 와서, 어디로 가는가 페미니즘은 1940년대까지의 여성 참정권 운동(Women’s movement) 이후 새롭게 등장한 개념입니다. 이전의 여권 신장 운동과는 구별되는 개념으로, 독일 ..
나는 옅은 기대감이 뭍은 손을 움직여 내 점수가 저장된 파일을 열었다. 어디보자… xxxxx... xxx . . . oooo-ooooo : 58점 xxxx-xxxxx: 13점 oooo-ooooo : 48점 . . . 나는 순간적으로 멈칫했다. 그리곤 이내 그 멈칫거림조차 멈추었다. 멍- 하다. 나는 기대를 완전히 저버린 나의 점수를 보고 그저 멍할 뿐이었다. 이전 같으면 분노와 부끄러움, 수치심 따위의 여러 감정이 나를 사방에서 괴롭혔겠지. 하지만 이번에는 조금 달랐다. 평정을 찾은 걸까? 익숙해진 걸까? 나는 스스로에게 질문했다. 조금도 즐겁지 않았다. 아니, 즐겁기는 커녕 몸이 무겁게만 느껴졌다. 축 처지는 느낌. 활기차게 떠들어 대는 밴드 보컬의 소리가 밋밋하기만 하다. 어, 포기가 뭘까? 오늘 나..
해당 포스팅은 한빛 미디어에서 출판한 '밑바닥부터 시작하는 딥러닝'이라는 교재의 내용을 따라가며 딥러닝 튜토리얼을 진행하고 있습니다. 관련 자료는 여기에서 찾거나 다운로드 받으실 수 있습니다. 퍼셉트론에서 신경망으로 신경망의 예 신경망을 그림으로 나타낸 예시를 보자. Input이라고 표시된 것은 입력층, 맨 오른쪽 줄(Output)을 출력층, 중간 층(Hidden)을 은닉층이라고 한다. 은닉층의 뉴런은 사람 눈에는 보이지 않는다. 0층의 입력층, 1층이 은닉층, 2층이 출력층이 된다. 퍼셉트론 복습 기존 퍼셉트론은 이런 구조를 하고 있다. # 식 : y = 0 (b + w1x1 + w2x2 0) 여기서 b는 편향을 나타내는 매개변수로, 뉴런이 얼마나 쉽게 활성화되느냐를 제어한다. 한편, w1과 w2는 각..
해당 포스팅은 한빛 미디어에서 출판한 '밑바닥부터 시작하는 딥러닝'이라는 교재의 내용을 따라가며 딥러닝 튜토리얼을 진행하고 있습니다. 관련 자료는 여기에서 찾거나 다운로드 받으실 수 있습니다. 퍼셉트론(perceptron) 알고리즘 퍼셉트론은 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 고안한, 매우 오래된 알고리즘이다. 하지만 퍼셉트론의 구조를 배우는 것은 신경망과 딥러닝으로 나아가는 데 중요한 아이디어를 배우는 일도 된다. 퍼셉트론이란? 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 여기서 말하는 신호란 전류나 강물처럼 흐름이 있는 것을 상상하면 좋다. 퍼셉트론 신호는 '흐른다/안 흐른다(1이나 0)'의 두 가지 값을 가질 수 있다. 위 사진은 입력이 2개인 퍼셉..