발표 준비

Reading time ~2 minutes

제 4회 파이썬 격월 세미나 발표자 모집

  • 세미나 개요 일시 : 2017년 5월 27일(토요일) 오후 2시
    장소 : 쿠팡

  • 모집 일정 발표자 모집 마감 : 2017년 5월 6일 오후 11시 59분 59초
    발표자 선정 안내 : 2017년 5월 8일

개요

제목 : 프레임워크 없이 내가 쓴 숫자 구분하기
목표 : 복잡한 수식과 프레임워크 없이 2층짜리 신경망을 만들어 내가 쓴 숫자를 구분하기
대상 : 머신러닝을 알고싶은 사람, 용어는 어디서 들어봤지만 정확히 모르겠고 헷갈리는 사람

파이썬을 기반으로 하는 많은 딥러닝 프레임워크가 있다.
텐서플로우 케라스같은 프레임워크를 쓰면 기반 원리를 몰라도 그럭저럭 써먹을 수 있다.

나는 처음 딥러닝을 접했을 때 프레임워크의 쓰임보다는 왜 이게 되는거고 어떤 원리로 학습이 되는건지가 궁금했고,
활성화함수 경사하강법 역전파 손실함수 같은 용어, 수식들이 어떤 역할을 하고 어떤 원리로 동작하는 것인지 궁금했다.

처음엔 이런저런 문서를 되는대로 읽고 강의도 들었다
그런데 프레임워크 위주의 설명이거나 원리는 조금만 언급한다던지 수식이 난무한다던가 영어라던가 나의 근본적인 궁금증은 풀 수 없었다.
그러던 와중 딥러닝 첫걸음, 밑바닥부터 시작하는 딥러닝 이란 책이 나를 구원해주었다.

이 책을 보고 아 이래서 미분을 하는구나, 미니 배치는 이런거구나, 역전파는 이런 이유때문에 쓰는구나를 알게되었다.
그렇게 근본적인 궁금증이 해결되자 내가 뭘 공부하고 있는지도 정확히 알게 됐고 프레임워크를 사용한 코드를 보더라도
이게 어떻게 동작하는지, 왜 이런 코드가 필요한지 알게되었다.

이 발표를 통해 내가 깨달은 점들을 공유하고
나와 같이 머신러닝의 근본적인 동작 원리를 알고 싶고, 어디선가 들어본 용어에 대한 정확한 정의와 동작 방식을 알고싶어 하는 사람들에게 도움이 되고싶다.
말하고자 하는 내용은 고차원적인 응용, 최신 논문에 대한 이야기, 딥러닝에 관한 내용이 아니기에
프레임워크를 사용하지 않고 2층짜리 신경망을 직접 만들어보고자 한다.

전체적인 흐름

  1. 들어가기에 앞서
    • 다룰 내용과 다루지 않을 내용
    • 알고있으면 좋을 수학 지식
  2. 전체 형태
    • 신경망의 목적
    • 초기화
    • 입력 데이터
    • 순전파
    • 활성화 함수
    • 역전파
    • 가중치 갱신
  3. 핵심 원리
    • y의 값을 알고 싶어
    • 가중치 w를 갱신하기
    • 왜 은닉층이 필요한가
    • 은닉층의 가중치는 어떻게 알지
    • 활성화함수를 꼭 써야하나
  4. 실제 코드
  5. 내가 쓴 숫자로 테스트 해보기
  6. 정리

파이썬의 await vs return vs return await

예전에 담아둔 마음함을 정리하다가 [JS에서 `await`, `return`, `return await`의 결과를 비교하는 글](https://jakearchibald.com/2017/await-vs-return-vs-return-await/)을...… Continue reading

Flask 1.0에서 달라진 점

Published on April 27, 2018