초보자를 위한 신경망 딥러닝 입문

수식 없이, 코딩 없이 드래그 앤드 드롭으로 배우는 딥러닝

드래그 앤드 드롭 조작만으로 딥러닝을 위한 시각적 체험 학습 실현!

이 책은 딥러닝을 처음 시작하려 하지만 수식을 이해하기 어렵다거나 프로그래밍 경험이 많지 않은 IT 엔지니어나 초보자를 대상으로 합니다.

신경망과 딥러닝에 대한 기본적인 이해부터 시작하여, 딥러닝 기법을 이용한 초·중·고급 이미지 분류 예제와 이를 위한 데이터 전처리까지 전문 데이터 과학자가 친절하게 전체적인 흐름을 알기 쉽게 그림과 함께 설명합니다.

소니가 개발한 무료 GUI 툴인 ‘신경망 콘솔’을 사용하여 단계적으로 딥러닝을 체험할 수 있도록 구성돼 있으며, 드래드 앤드 드롭만으로 ‘수식 없이’ 딥러닝 기법을 이해하고 ‘프로그래밍 없이’ 구현하는 방법도 알려 줍니다.

아다치 하루카 (あだち はるか)

제조사에서 데이터 과학자로 일하는 한편, 사회인 대학원생으로서 데이터 마이닝을 연구하였다. SI 업체에서 데이터 분석과 활용 업무 진행하였고, 벤더 업체에서는 데이터 분석과 활용 업무를 지원하는 일을 하는 등 갑과 을의 입장에서 데이터 과학에 종사해 왔다. 또한 데이터 과학의 보급을 목적으로 웹이나 잡지에 기사를 게재했으며, 각지에서 세미나 강사를 맡아 왔다. 저서로는 『처음 시작하는 텐서플로: 수식없이 배우는 딥러닝 입문』(2017, 릭텔레콤)이 있다. 감수성이 예민한 시기에 고등전문학교에서 5년을 보내 버린 탓인지 주변에서 괴짜라는 평가를 받고 있다. 취미는 성과 댐, 절 순례하기다.

김은철([email protected])

㈜아이티에스 대표. AWS에 기반한 IoT 실시간 서비스를 개발했다. 일본 법인 ㈜아이티에스 대표 및 엘피에이캠퍼스 전임강사(C, C++, MFC, Network, Database)를 역임하고 한화S&C㈜에서 근무했다. 저서로 『예제가 가득한 C 언어 길라잡이』, 『초보자를 위한 C 언어 300제』, 역서로 『라즈베리 파이 3 입문과 실전 활용』 『유니티 5 교과서』, 『예제로 배우는 핵심 패턴 안드로이드 프로그래밍 SDK 2.1』, 『스위프트로 만드는 실전강좌! 아이폰 앱 프로그래밍』, 『머신 러닝 부트캠프 with 파이썬』 외 다수가 있다. 최근에는 앱, 인공지능, 블록체인 관련 사업을 하고 있다.

유세라([email protected])

일본어 전문 번역가로 활동하고 있으며 현재 ㈜컴온히어 기업 대표로 앱과 인공지능 관련 일을 하고 있다. 한국에서 영상 처리와 게임 분야의 프로그래밍을 했고 일본에서 IT 엔지니어로 활동했다. 역서로는 『라즈베리 파이 3 입문과 실전 활용』 『유니티 5 교과서』, 『예제로 배우는 핵심 패턴 안드로이드 프로그래밍 SDK 2.1』, 『아이폰 프로그래밍 UIKit 핵심 바이블』, 『가장 쉬운 파이썬 입문교실』 외 다수가 있다.

  • ▣ 1장: AI 세계에 오신 것을 환영합니다
    • 1.1. AI와 데이터 과학
      • 1.1.1 데이터 과학자의 기술
      • 1.1.2 데이터 과학의 업무
    • 1.2. 머신러닝
      • 1.2.1 지도 학습과 예측
      • 1.2.2 비지도 학습과 지식 발견
      • 1.2.3 모델 만들 때의 검증
      • 1.2.4 머신러닝의 툴
    • 1.3. 신경망에서 딥러닝으로
      • 1.3.1 신경망이란?
      • 1.3.2 딥러닝은?
    • 1장 정리
    •  
  • ▣ 2장: 딥러닝의 기법
    • 2.1. 신경망
      • 2.1.1 신경망의 개요
      • 2.1.2 순전파의 구조
      • 2.1.3 역전파의 시스템
    • 2.2. 딥러닝
      • 2.2.1 오토 인코더 시스템
      • 2.2.2 학습의 테크닉
    • 2.3. 합성곱 신경망
      • 2.3.1 합성곱층의 시스템
      • 2.3.2 풀링층의 시스템
      • 2.3.3 패딩의 시스템
    • 2.4. 재귀형 신경망
      • 2.4.1 순전파와 역전파의 시스템
      • 2.4.2 LSTM의 시스템
    • 2장 정리
    •  
  • ▣ 3장: 인공지능(AI) 툴과 신경망 콘솔(Neural Network Console)
    • 3.1. 전 세계에 보급된 AI 툴
      • 3.1.1 딥러닝의 주요한 툴
    • 3.2. 신경망 콘솔
    • 3.3. NNC 설치
      • 3.3.1 사전 준비
      • 3.3.2 NNC 내려받기
      • 3.3.3 NNC 설치
      • 3.3.4 NNC 애플리케이션의 폴더 구성
      • 3.3.5 NNC 실행
    • 3.4. NNC 조작 화면
      • 3.4.1 PROJECT(프로젝트) 화면
      • 3.4.2 DATASET(데이터셋) 화면
      • 3.4.3 EDIT(편집) 화면
      • 3.4.4 TRAINING(학습) 화면
      • 3.4.5 EVALUATION(평가) 화면
      • 3.4.6 CONFIG(설정) 화면
    • 3장 정리
    •  
  • ▣ 4장: 초급 - 샘플 프로젝트를 실행해 보자!
    • 4.1. 신경망을 이용한 이미지 분류(1)
      • 4.1.1 작성된 프로젝트를 연다
      • 4.1.2 사용할 데이터 세트 확인
      • 4.1.3 완성된 네트워크 구조를 확인
      • 4.1.4 학습 조건의 설정
      • 4.1.5 학습의 실행
      • 4.1.6 평가의 실행
    • 4.2. CNN으로 이미지 분류(1)
      • 4.2.1 작성된 프로젝트를 연다
      • 4.2.2 사용할 데이터 세트 확인
      • 4.2.3 완성된 네트워크 구조 확인
      • 4.2.4 학습 조건의 설정
      • 4.2.5 평가의 실행
      • 4.2.6 평가의 실행
    • 4장 정리
    •  
  • ▣ 5장: 중급 - 신규 프로젝트를 실행해 보자!
    • 5.1. 신경망을 사용한 이미지 분류(2)
      • 5.1.1 새로운 프로젝트 만들기
      • 5.1.2 데이터 세트의 선택
      • 5.1.3 네트워크 만들기: 컴포넌트의 배치
      • 5.1.4 네트워크 만들기: 컴포넌트의 파라미터 설정
      • 5.1.5 학습 조건과 최적화 설정
      • 5.1.6 학습의 실행
      • 5.1.7 평가의 실행
    • 5.2. CNN을 이용한 이미지 분류(2)
      • 5.2.1 새로운 프로젝트 만들기
      • 5.2.2 데이터 세트의 선택
      • 5.2.3 네트워크 만들기: 컴포넌트의 배치
      • 5.2.4 네트워크 만들기: 컴포넌트의 파라미터 설정
      • 5.2.5 학습 조건과 최적화 설정
      • 5.2.6 학습의 실행
      • 5.2.7 평가의 실행
    • 5.3. 네트워크 구조의 최적화
      • 5.3.1 앞에서 만든 프로젝트 복제
      • 5.3.2 네트워크 구조의 최적화 설정
    • 5장 정리 164
    •  
  • ▣ 6장: 상급 - 원본 이미지로 구현해 보자!
    • 6.1. 데이터 세트 만들기
      • 6.1.1 폴더 만들기
      • 6.1.2 데이터 세트 확인
    • 6.2. 네트워크 만들기
      • 6.2.1 프로젝트 만들기
      • 6.2.2 네트워크의 수정
    • 6.3. 데이터 세트의 선택
    • 6.4. 학습 조건의 설정
      • 6.4.1 Global Config의 설정
      • 6.4.2 Optimizer의 설정
    • 6.5. 학습의 실행
    • 6.6. 평가의 실행
    • 6장 정리
    •  
  • ▣ 7장: 상급 - 원본 데이터로 구현해 보자!
    • 7.1. 데이터의 전처리
      • 7.1.1 NNC에서의 구조화 데이터의 처리
      • 7.1.2 데이터 분석 소프트웨어 - 래피드마이너
      • 7.1.3 래피드마이너의 설치와 실행
      • 7.1.4 래피드마이너의 화면 구성
      • 7.1.5 구현에 사용할 데이터 세트
      • 7.1.6 래피드마이너를 사용한 데이터의 전처리 - 기본적인 성형
      • 7.1.7 래피드마이너를 사용한 데이터의 전처리 - NNC 입력 형식으로 변환(학습 데이터)
      • 7.1.8 래피드마이너를 사용한 데이터의 전처리 - NNC 입력 형식으로의 변환(평가 데이터)
    • 7.2. 데이터 세트의 등록
    • 7.3. 네트워크 만들기
    • 7.4. 데이터 세트의 선택
    • 7.5. 학습 조건의 설정
    • 7.6. 학습의 실행
    • 7.7. 평가의 실행
    • 7장 정리
    •  
  • ▣ 부록 A
    • A.1. NNC에 대응하지 않는 OS가 설치된 PC에 NNC 설치하기
      • A.1.1 VirtualBox의 설치
      • A.1.2 윈도우 10의 설치
      • A.1.3 신경망 콘솔(NNC)의 설치
      • A.1.4 데이터의 전처리
    • A.2. 머신러닝을 사용해 분류 문제를 해결해 보자!
      • A.2.1 결정 트리
      • A.2.2 학습의 실행
      • A.2.3 평가의 실행
    • 책을 마치며

예제 코드 다운로드

1, 2차 URL 중 하나만 받으시면 됩니다

신경망콘솔(Neural Network Concole)의 설치 및 작동 방법

  1. 다음 사이트에서 NNC를 내려받을 수 있습니다.

    https://dl.sony.com/

    neural-deep-learning-1.png image.png

  2. 위 페이지에서 윈도를 사용하면 "Get th Windows App"을 클릭합니다.

    neural-deep-learning-2.png)

  3. 위 화면에서 "Download"를 클릭하면 neural_network_console_160.zip이 다운로드됩니다.

  4. neural_network_console_160.zip의 압축을 풉니다.

  5. 압축을 풀면 다음과 같은 파일들을 볼 수 있습니다.

    neural-deep-learning-3.png)

  6. neural_network_console.exe를 실행하면 콘솔 프로그램을 실행할 수 있습니다.