분류 전체보기 1274

텐서플로우-#1 자료형의 이해

텐서플로우-#1 자료형의 이해 조대협 (http://bcho.tistory.com) 딥러닝에 대한 대략적인 개념을 익히고 실제로 코딩을 해보려고 하니, 모 하나를 할때 마다 탁탁 막힌다. 파이썬이니 괜찮겠지 했는데, (사실 파이썬도 다 까먹어서 헷갈린다.) 이건 라이브러리로 도배가 되어 있다.당연히 텐서플로우 프레임웍은 이해를 해야 하고, 데이타를 정재하고 시각화 하는데, numpy,pandas와 같은 추가적인 프레임웍에 대한 이해가 필요하다. node.js 시작했을때도 자바스크립트 때문에 많이 헤매고 몇달이 지난후에야 어느정도 이해하게 되었는데, 역시나 차근차근 기초 부터 살펴봐야 하지 않나 싶다. 텐서 플로우에 대해 공부한 내용들을 하나씩 정리할 예정인데, 이 컨텐츠들은 유투브의 이찬우님의 강의를 기..

딥러닝 - 초보자를 위한 컨볼루셔널 네트워크를 이용한 이미지 인식의 이해

딥러닝 - 컨볼루셔널 네트워크를 이용한 이미지 인식의 개념 조대협 (http://bcho.tistory.com) 이번 글에서는 딥러닝 중에서 이미지 인식에 많이 사용되는 컨볼루셔널 뉴럴 네트워크 (Convolutional neural network) 이하 CNN에 대해서 알아보도록 하자. 이 글을 읽기에 앞서서 머신러닝에 대한 기본 개념이 없는 경우는 다음 글들을 참고하기 바란다. 머신러닝의 개요 http://bcho.tistory.com/1140머신러닝의 기본 원리는 http://bcho.tistory.com/1139 이산 분류의 원리에 대해서는 http://bcho.tistory.com/1142인공 신경망에 대한 개념은 http://bcho.tistory.com/1147 CNN은 전통적인 뉴럴 네트워..

머신러닝의 과학습 / 오버피팅의 개념

머신러닝의 과학습 / 오버피팅의 개념 조대협 (http://bcho.tistory.com) 머신 러닝을 공부하다보면 자주 나오는 용어 중에 하나가 오버피팅 (Overfitting)이다. 과학습이라고도 하는데, 그렇다면 오버 피팅은 무엇일까? 머신 러닝을 보면 결과적으로 입력 받은 데이타를 놓고, 데이타를 분류 (Classification) 하거나 또는 데이타에 인접한 그래프를 그리는 (Regression) , “선을 그리는 작업이다.”그러면 선을 얼마나 잘 그리느냐가 머신 러닝 모델의 정확도와 연관이 되는데, 다음과 같이 붉은 선의 샘플 데이타를 받아서, 파란선을 만들어내는 모델을 만들었다면 잘 만들어진 모델이다. (기대하는) 언더 피팅 만약에 학습 데이타가 모자라거나 학습이 제대로 되지 않아서, 트레이..

딥러닝의 개념과 유례

딥러닝의 역사와 기본 개념조대협 (http://bcho.tistory.com)인경 신경망 알고리즘의 기본 개념 알파고나 머신러닝에서 많이 언급되는 알고리즘은 단연 딥러닝이다.이 딥러닝은 머신러닝의 하나의 종류로 인공 신경망 알고리즘의 새로운 이름이다. 인공 신경망은 사람의 두뇌가 여러개의 뉴론으로 연결되서 복잡한 연산을 수행한다는데서 영감을 받아서, 머신러닝의 연산을 여러개의 간단한 노드를 뉴론 처럼 상호 연결해서 복잡한 연산을 하겠다는 아이디어이다. 이 뉴런의 구조를 조금 더 단순하게 표현해보면 다음과 같은 모양이 된다. 뉴런은 돌기를 통해서 여러 신경 자극 (예를 들어 피부에서 촉각)을 입력 받고, 이를 세포체가 인지하여 신호로 변환해준다. 즉 신경 자극을 입력 받아서 신호라는 결과로 변환해주는 과정..

Docker Kubernetes의 UI

Docker Kubernetes UI 조대협 (http://bcho.tistory.com) 오늘 도커 밋업에서 Kubernetes 발표가 있어서, 발표전에 데모를 준비하다 보니, 구글 클라우드의 Kubernetes 서비스인 GKE (Google Container Engine)에서 Kubernetes UI를 지원하는 것을 확인했다. Google Container Service (GKE) GKE는 구글 클라우드의 도커 클라우드 서비스이다. 도커 컨테이너를 관리해주는 서비스로는 Apache mesos, Docker Swarm 그리고 구글의 Kuberenetes 가 있는데, GKE는 이 Kuberentes 기반의 클라우드 컨테이너 서비스이다. 대부분의 이런 컨테이너 관리 서비스는 아직 개발중으로 운영에 적용하기..

파이어베이스를 이용한 유니티 게임 로그 분석

파이어베이스를 이용한 유니티 게임 로그 분석 조대협 (http://bcho.tistory.com)모바일 로그 분석일반적으로 모바일 로그 분석은 클라우드 기반의 무료 솔루션을 이용하다가 자체 구축으로 가는 경우가 많다.클라우드 기반의 무료 로그 분석 솔루션으로는 구글 애널러틱스, 야후의 플러리, 트위터의 패브릭 그리고 구글의 파이어베이스 등이 있다.이런 무료 로그 분석 솔루션들을 사용이 매우 간편하고, 핵심 지표를 쉽게 뽑아 줄 수 있으며, 별도의 운영이 필요 없다는 장점을 가지고 있다.그러나 이런 클라우드 기반의 무료 솔루션의 경우에는 요약된 정보들만 볼 수 있고 또한 내가 원하는 지표를 마음대로 지정을 할 수 없기 때문에, 어느정도 서비스가 성장하고 팀의 여력이 되면 별도의 로그 수집 및 분석 솔루션을..

첫번째 게임을 만들어 보다

첫번째 게임을 만들어보다. 조대협 (http://bcho.tistory.com) 요즘 게임 개발이 워낙 인기 있는 분야이고, 유니티로 게임을 개발하기가 워낙 쉽다고 해서, 언젠가 한번 게임을 개발해봐야하겠다는 막연한 생각만 가지고 있었는데, 게임 로그 수집 및 분석을 테스트할 기회가 되서, 아예 게임을 만들어보기로 하였다. 유니티 개발환경의 편리함 대략 10월10일 부터 시작해서, 개발이 끝난게 대략 10월 말 경이니까는 2~3주 정도 걸린것 같다.유니티 개발이 처음이라서, 책부터 사보고 남는 시간 짬짬이 개발을 했는데, 아마 집중해서 했으면 일주정도면 되지 않았을까 한다. 유니티로 게임을 개발하면서, 먼저 느낀것은 개발 환경이 참 잘 짜야져 있다는 것이다. 객체를 정의한 후, 각 객체에 객체를 컨트롤하..

IT 이야기 2016.11.01

수학포기자를 위한 딥러닝-#4 로지스틱 회귀를 이용한 분류 모델

수포자를 위한 딥러닝#4 - 로지스틱 회귀를 이용한 이항 분류 문제의 해결조대협 (http://bcho.tistory.com) 1장에서 머신러닝의 종류는 결과값의 타입이 연속형인 Regression (회귀) 문제와, 몇가지 정해진 분류로 결과(이산형)가 나오는 Classification(분류) 문제가 있다고 하였다. 2,3장에 걸쳐서 회귀 문제에 대해서 알아보았고, 이번장에서는 로지스틱 회귀를 이용한 분류 문제에 대해서 알아보자. 이 글의 내용은 Sung.Kim 교수님의 “모두를 위한 딥러닝”(http://hunkim.github.io/ml/) 을 참고하였다. 여러 자료들을 찾아봤는데, 이 강의 처럼 쉽게 설명해놓은 강의는 없는것 같다. 분류 문제(Classification)의 정의분류 문제란 학습된 모..

수학포기자를 위한 딥러닝-#3 텐서플로우로 선형회귀 학습을 구현해보자

수포자를 위한 딥러닝 #3 - 텐서플로우로 선형회귀 학습을 구현해보자 조대협 (http://bcho.tistory.com) 앞에서 살펴본 선형 회귀(Linear regression) 머신 러닝 모델을 실제 프로그래밍 코드를 만들어서 학습을 시켜보자. 여러가지 언어를 사용할 수 있지만, 이 글에서는 텐서플로우를 기반으로 설명한다. 텐서플로우 개발 환경 셋업텐서 플로우 개발 환경을 설정하는 방법은 여러가지가 있지만, 구글 클라우드의 데이타랩 (datalab)환경을 사용하기로 한다. 텐서플로우 환경을 설정하려면 파이썬 설치 및 연관된 수학 라이브러리를 설치해야 하는 등 설치가 까다롭기 때문에, 구글 클라우드에서 제공하는 파이썬 노트북 (Jupyter 노트북 : http://jupyter.org/ ) 이 패키징..

수학포기자를 위한 딥러닝-#2 머신러닝 개념 이해

수포자를 위한 딥러닝 #2 - 선형회귀분석을 통한 머신러닝의 기본 개념 이해 조대협 (http://bcho.tistory.com) Linear Regression을 통한 머신 러닝의 개념 이해거리에 따른 택시 요금 문제머신러닝이란 무엇일까? 개념 이해를 돕기 위해서 선형 회귀 (Linear Regression)이라는 머신러닝 모델을 보자. 먼저 선형 회귀 (Linear regression)이 무엇인지 부터 이해를 해야 하는데, 쉽게 설명하자면 결과값 (output value)이 있고 그 결과값을 결정할 것이라고 추정되는 입력값 (input value)과 결과 값의 연관관계를 찾는 것이고 이를 선형 관계를 통해 찾는 방법이 선형 회귀 (Linear regression)이다. 예를 들어서 설명해보자, 택시 ..