머신러닝과 딥러닝/딥러닝 4

CNN 모델의 발전 과정 #1

도입 ratsgo`s blog(ratsgo.github.io/deep%20learning/2017/10/09/CNNs/)와 dataplay.tistory.com/24, adeshpande3.github.io/adeshpande3.github.io/The-9-Deep-Learning-Papers-You-Need-To-Know-About.html 를 많이 참고하여 제가 아는 내용을 첨가해 정리하였습니다. 4. CNN 발전 (1) - Alexnet, GoogLeNet 1. CNN의 발전 CNN은 1990년대 Yann LeCun 교수가 발표한 이후, 발전을 많이 했습니다. 특히 2010년 초중반에 많은 발전이 있었습니다. Conv layer 자체에서 Convolution을 어떤식으로 진행할지를 고민하는 차 da..

CNN 기본 용어 및 개념 정리

작성동기 오늘은 CNN의 기본 용어와 개념을 정리해볼까합니다. 전에 인공지능과 관련된 인턴을 하면서, 이미지데이터를 많이 다루었음에도 불구하고 개념적으로 이해하지 못했었습니다. 특히, S사 면접에서 질문이 들어왔을때 동문서답을 면치못했던 트라우마가 강하게 남네요. 물론 저는 통계학 전공이라 학교에서 인공지능 관련된것을 제대로 배운적이 없지만, 그래도 인턴과 공모전 등에서 CNN을 포함한 딥러닝 모델 개발의 경험이 있었기때문에 뼈아팠습니다. 아무튼 겸사겸사 CNN내용을 정리해볼까 합니다. 도입 기본적인 DNN모델은 "지역성"을 가져올수가 없습니다. 아래 MNIST데이터를 한번 예시로 들어보죠! MNIST는 대표적인 이미지 분류 문제이며, 0~9까지의 손글씨 이미지를 분류하는것이 목적입니다. 일반적인 DNN..

Image Cropping(이미지 자르기) by Python, Numpy

Python의 Numpy를 활용하여 Image를 Cropping해보겠습니다. 프로젝트 보안상 예시 이미지만을 활용하는 점 이해해주세요 목적은 흑/백으로만 이루어진 데이터에서 Object주위에 Margin을 어느정도 주고, 잘라내는 것 입니다. 예를 들어 이미지에서 코 부분만 따로 떼어내는 작업(Cropping)이라고 할 수 있습니다. 분류모델을 만들기 전의 전처리 작업이라고 보시면 될 것 같네요. Package import import os import numpy as np import cv2 from matplotlib import pyplot as plt Image Read path = 'ch/001/001_Test/' img = cv2.imread(root + 'a_372874_m_R_1.jpg')..

DNN(Deep Neural Net)의 전체적인 Flow

매번 수박 겉핥기 식으로 딥러닝 공부를 하고, 또 코드를 긁어서 쓰는 수준에 그쳤었습니다. 그러다 S사 면접에서 전문가들의 깊이 있는 질문에 답하지 못했던 아쉬움이 남아, 늦었지만 딥러닝 이론을 정리해보고자합니다. 개인적인 정리용도이지만 오류나 질문사항이 있으면 댓글 부탁드립니다! 딥러닝이 담고있는 수학, 컴퓨팅 알고리즘적인 깊이 때문에 깔끔한 정리는 되지않을 것 같습니다. 또한, 대략적인 요약이라 상세한 부분은 생략할것입니다. 1. 딥러닝은 어디에서부터 왔는가? 딥러닝은 우리 뇌의 신경망 구조를 본뜬 퍼셉트론(Perceptron)에서 부터 출발했습니다. 딥러닝이 현재 실제로 상용화된 인공지능 서비스까지 닫기에 많은 고난을 거쳤지만(XOR문제, 계산속도 문제, Backpropagation의 등장 등..)..