인공지능 딥러닝 직접 코딩하기 WITH 라즈베리파이 피코

고객평점
저자서민우
출판사항앤써북, 발행일:2021/11/30
형태사항p.296 46배판:26
매장위치자연과학부(B2) , 재고문의 : 051-816-9500
ISBN9791185553894 [소득공제]
판매가격 17,000원   15,300원  (인터넷할인가:10%)
포인트 765점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

≪인공지능 딥러닝 직접 코딩하기 with 라즈베리파이 피코≫ 책을 통해 복잡하고 어려운 수학을 몰라도 다음과 같은 지식을 습득할 수 있습니다.


첫째, 파이썬 언어를 공부하고 활용할 수 있습니다.

둘째, 인공지능의 딥러닝 알고리즘을 직접 구현해보고 활용할 수 있습니다.

셋째, 텐서플로우를 활용하여 인공지능 프로그램을 작성할 수 있습니다.

넷째, 라즈베리파이 피코를 이용하여 하드웨어를 직접 제어할 수 있습니다.


이 책을 통해서 해결할 수 있는 인공지능과 관련된 2가지 오해

- Q1 인공지능은 반드시 고사양의 컴퓨터 환경이 필요할까요?

A 아닙니다. 이 책에서 아두이노와 같은 저사양 컴퓨터인 라즈베리파이 피코 상에서 인공지능을 학습하는 구체적인 방법을 자세히 설명하였습니다.


- Q2 인공지능은 복잡한 수학적 지식이 필요할까요?

A 아닙니다. 이 책에서는 중학교 수준의 수학으로 인공지능의 주요 알고리즘을 누구나 직접 구현할 수 있도록 아주 쉽게 설명하였습니다.


인공지능은 여러분이 생각하는 것보다 어렵지 않습니다. 그에 반해 인공지능의 힘은 알파고와 같이 지대합니다. 요술램프를 문지르는 정도로 쉽지만 ‘지니’와 같은 힘을 가진 인공지능을 공부하지 않는다면 그것은 독자 여러분의 큰 손해가 될 것입니다. 이 책을 통해 직접 구현하면서 이해하기 쉽게 공부합시다!


※ 이 책의 예제 소스파일 다운로드 방법은 7쪽을 참조하고, 책을 보면서 궁금한 사항의 질의응답 방법은 6쪽을 참조합니다.

※ 이 책의 실습 준비물은 5쪽 또는 61쪽을 참조합니다.


≪인공지능 딥러닝 직접 코딩하기 with 라즈베리파이 피코≫ 책을 통해서 다음과 같은 4가지 주요 기술을 습득하게 됩니다.


첫 번째, 파이썬 언어를 공부하고 활용할 수 있게 됩니다.

두 번째 인공지능의 딥러닝 알고리즘을 직접 구현해보고 활용할 수 있게 됩니다.

세 번째 텐서플로우를 활용하여 인공지능 프로그램을 작성할 줄 알게 됩니다.

네 번째 라즈베리파이 피코를 이용하여 하드웨어를 제어할 수 있게 됩니다.


라즈베리파이 피코 상에서 코딩과 제어 그리고 중학교 수준의 수학으로 인공지능 딥러닝 알고리즘을 쉽게 이해할 수 있도록 다음과 같이 구성하였습니다.


Chapter 01에서는 인공지능의 딥러닝을 이해해 봅니다.

첫 번째, 딥러닝의 핵심인 인공 신경망이 무엇인지 알아보고, 딥러닝에 대해 어떤 학습 방법이 있는지 살펴보고, 생물학적 신경과 비교해 보며 딥러닝의 인공 신경망을 이해해 봅니다. 두 번째 딥러닝에 대한 기본 예제를 구글의 코랩과 Keras 라이브러리를 이용해 수행해 보면서 딥러닝을 접해봅니다. 세 번째 중고등학교 때 배웠던 기본적인 함수를 딥러닝의 인공 신경망으로 구현해 보면서 딥러닝의 인공 신경망과 함수의 관계를 이해해 봅니다.


Chapter 02에서는 파이썬 인공지능(A.I.) 키트를 살펴보고, 파이썬 인공지능 개발 환경을 구성하고, 라즈베리파이 피코 용 파이썬이 제공하는 패키지를 이용하여 파이썬 인공지능(A.I.) 키트 상에 있는 LED, 버튼, 부저, 빛 센서, RGB 네오픽셀, RGB LCD 등의 하드웨어를 제어해 봅니다.


Chapter 03에서는 파이썬을 이용하여 기초적인 딥러닝 알고리즘을 살펴보고 구현해 봅니다.

첫 번째, DNN 라이브러리를 이용하여 2차 함수를 라즈베리파이 피코 상에서 근사해 봅니다. 두 번째, 딥러닝의 단일 인공 신경 알고리즘을 살펴보고 구현해 봅니다. 이 과정에서 순전파, 목표 값, 평균값 오차, 역전파 오차, 오차 역전파, 학습률, 경사 하강법, 인공 신경망 학습 등에 대한 용어를 정리하고 구현에 적용해 봅니다. 세 번째, 다양한 인공 신경망을 구현해 봅니다. 구체적으로 2입력 1출력 인공 신경, 2입력 2출력 인공 신경망, 3입력 3출력 인공 신경망, 2입력 2은닉 2출력 인공 신경망에 딥러닝 알고리즘을 적용해 봅니다. 네 번째, 딥러닝에서 주로 사용되는 활성화 함수인 sigmoid, tanh, ReLU, softmax를 살펴보고 적용해 봅니다. 또 softmax와 관련된 cross entropy 오차 함수에 대해서도 정리해 봅니다.


Chapter 04에서는 NumPy 라이브러리를 이용하여 행렬 기반으로 DNN 알고리즘을 구현하고 활용해 봅니다. 행렬을 이용하면 딥러닝 알고리즘을 일반화하여 자유자재로 인공 신경망을 확장할 수 있습니다. 첫 번째, NumPy를 이용하여 2입력 2출력 인공 신경망, 3입력 3출력 인공 신경망, 2입력 1출력 인공 신경, 1입력 1출력 인공 신경, 2입력 2은닉 2출력 인공 신경망을 구현해 봅니다. 이 과정에서 딥러닝 학습에 필요한 행렬 계산식을 유도하고 일반화합니다. 두 번째, 직접 구현한 NumPy DNN 라이브러리를 활용해 봅니다. 이 과정에서 7세그먼트 입력 2진수 출력 인공 신경망, 초음파 센서 자율주행 인공 신경망에 DNN 라이브러리를 적용해 봅니다.


부록에서는 편미분을 통한 역전파 수식 유도 과정을 자세히 소개합니다.

작가 소개

서민우

현) 코코랩스(http://www.kocolabs.co.kr/) 대표

MDS 아카데미 Cortex-M3/M4, 드론, 리눅스 교육

대한상공회의소 서울기술교육센터 출강

LG 전자 신입사원 C/C++ 교육

SK 하이닉스 RTOS 교육

삼성전자 리눅스 드라이버/RTOS 교육

Xilinx FPGA/HDL 교육

ETRI verilogHDL 교육

숭실대 아두이노 IoT 교육

국민대 Cortex-M3 교육


[저서]

한 권으로 끝내는 파이썬 아두이노 입문+실전(종합편) (2021. 9 앤써북)

아두이노로 코딩하며 배우는 딥러닝 (2021. 06 앤써북)

ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기 (2021. 02 앤써북)

아두이노 자율주행 RC카 만들고 직접 코딩하기(2020. 12 앤써북)

진짜 코딩하며 배우는 파이썬(2020. 07 앤써북)

아두이노 드론 만들고 날리고 직접 코딩하기(2020. 03 앤써북)

마이크로비트로 배우는 파이썬(2020. 02 앤써북)

아두이노 배우면서 사물 인터넷(IoT) 직접 코딩하기(2019. 07 앤써북)

한 권으로 끝내는 아두이노 입문 + 실전(종합편)(2019. 02 앤써북)

아두이노 사용자를 위한 라즈베리 파이 드론 만들고 직접 코딩하기 (2018. 07 앤써북)

아두이노 드론 만들고 코딩하고 날리기 입문(2017. 03 앤써북) 외 다수

목 차

CHAPTER 01 인공 지능 딥러닝의 이해

01 _ 인공 신경망의 이해

01-1 인공 신경망이란?

인공 신경망으로 할 수 있는 일들

인공 신경망의 구조

01-2 인공 신경망의 학습 방법

지도 학습

비지도 학습

강화 학습

01-3 인공 신경 살펴보기

인공 신경과 생물학적 신경

인공 신경 내부 살펴보기

인공 신경 함수 수식


02 _ 딥러닝 맛보기

02-1 Hello 딥러닝

02-2 머신 러닝은 무엇일까요

02-3 구글 코랩 개발 환경 구성하기

02-4 기존 방식의 함수 정의와 사용

함수 정의하고 사용해 보기

02-5 머신러닝 방식의 신경망 함수 생성과 사용

02-6 축하합니다!


03 _ 인공 신경망과 근사 함수

03-1 2차 함수 근사해 보기

2차 함수 그리기

실제 데이터 생성하기

훈련, 실험 데이터 분리하기

인공 신경망 구성하기

인공 신경망 학습시키기

03-2 5차 함수 근사해 보기

03-3 다양한 함수 근사해 보기

분수 함수 근사해 보기

sin 함수 근사해 보기

tanh 함수 근사해 보기

e 함수 근사해 보기

sigmoid 함수 근사해 보기

로그함수 근사해 보기

제곱근함수 근사해 보기

ReLU 함수 근사해 보기

leaky ReLU 함수 근사해 보기

blink 함수 근사해 보기

fading 함수 근사해 보기



CHAPTER 02 파이썬 인공지능(A.I.) 키트 시작하기

01 _ 인파이썬 인공지능(A.I.) 키트 살펴보기

01-1 라즈베리파이 피코 살펴보기

라즈베리파이 피코 사양 살펴보기

01-2 Reaspberry Pi Pico A.I. KIT 살펴보기

라즈베리파이 피코 장착

LCD 장착

01-3 Raspberry Pi Pico A.I. KIT 핀 살펴보기


02 _ 파이썬 인공지능 개발 환경 구성하기

02-1 마이크로 파이썬 이미지 설치하기

02-2 Thonny IDE 설치하기

02-3 파이썬 실습 환경 설정하기

마이크로 파이썬 쉘 실행하기

마이크로 파이썬 쉘에 명령 주기

파이썬 프로그램 작성하기

파이썬 프로그램 실행하기

파이썬 프로그램 종료하기


03 _ print 함수

03-1 print

03-2 while

03-3 time.sleep

03-4 문자열, 숫자 출력하기

03-5 형식 문자열 사용하기

03-6 정수, 실수 출력하기

03-7 str.format 함수 사용해 보기


04 _ LED켜고 끄기 : Pin.value 함수

04-1 LED 켜고 끄기

LED 켜기

LED 끄기

04-2 LED 점멸 반복해보기

04-3 LED 점멸 간격 줄여보기

04-4 LED를 밝기로 느껴보기

04-5 LED 밝기 변경해보기

LED 어둡게 해 보기

LED 밝게 해 보기

04-6 LED 밝기 조절해보기

04-7 A.I. 키트 LED 켜보기


05 _ machine.PWM 모듈

05-1 LED 점멸 반복해보기

05-2 LED 점멸을 밝기로 느껴보기

05-3 LED 밝기 변경해보기

주파수 늘리기

LED 어둡게 해 보기

LED 밝게 해 보기

05-4 LED 밝기 조절해보기

05-5 부저와 소리 이해하기

부저 살펴보기

소리와 주파수 이해하기

05-6 부저 소리내보기

도 소리 내보기

도레 소리 내보기

부저 멜로디 연주하기


06 _ input 함수


07 _ 버튼 상태 읽기 : Pin.value 함수

07-1 푸시 버튼 살펴보기

풀다운 저항 회로

풀업 저항 회로

버튼 회로도 살펴보기

07-2 0, 1 읽어보기

07-3 버튼 값에 따라 LED 켜기

07-4 버튼 토글하기


08 _ Pin.irq 함수

08-1 외부 인터럽트 살펴보기

외부 인터럽트 처리하기

08-2 버튼 인터럽트로 LED 켜기


09 _ machinem.Timer 클래스


10 _ thread.start_new_thread

10-1 쓰레드 생성하기

10-2 쓰레드 이중 작업하기

10-3 쓰레드 LED 점멸 반복해보기

10-4 쓰레드로 LED 밝기 조절해보기


11 _ ADC 클래스

11-1 빛 센서 값 측정해 보기

11-2 온도 센서 측정해 보기


12 _ RGB 네오픽셀 LED 켜고 끄기

12-1 WS2812 LED 라이브러리 설치하기

파일 복사 방법 2

12-2 RGB 네오픽셀 LED 제어해 보기

LED 한 개 켜고 꺼 보기

전체 LED 켜고 꺼 보기

전체 LED 여러 색깔 켜고 꺼 보기

무지개 색깔 내보기


13 _ RGB LCD 제어하기

RGB LED 핀 설명

13-1 ST7735 라이브러리 설치하기

13-2 RGB LCD 제어해 보기

문자열 표시해보기

그림 그려보기

픽셀 찍어보기

LCD 귀퉁이 점찍어보기

기타 함수 사용해 보기



CHAPTER 03 인공 지능의 딥러닝 알고리즘 동작 원리 이해와 구현

01 _ DNN 라이브러리 사용해 보기

01-1 ulab 마이크로 파이썬 이미지 설치하기

01-2 DNN 인공 신경망 라이브러리 설치하기

01-3 2차 함수 근사해 보기

2차 함수 그리기

실제 데이터 생성하기

훈련, 실험 데이터 분리하기

인공 신경망 구성하고 학습시키기


02 _ 딥러닝 동작 원리 이해하기

02-1 기본 인공 신경 동작 살펴보기

순전파

목표 값과 역전파 오차

오차 역전파

순전파 정리하기

역전파 정리하기

최적화 하기

학습률

경사 하강법과 인공 신경망 학습

02-2 기본 인공 신경 동작 구현해 보기

반복 학습 2회 수행하기

반복 학습 20회 수행하기

반복 학습 200회 수행하기

오차 값 계산하기

학습률 변경하기

02-3 y=3*x+1 학습시켜 보기

전체 입력 데이터 학습 수행하기

가중치, 편향 학습과정 살펴보기

반복 학습 2회 수행하기

반복 학습 20회 수행하기

반복 학습 200회 수행하기

반복 학습 2000회 수행하기

가중치, 편향 바꿔보기 1

가중치, 편향 바꿔보기 2


03 _ 다양한 인공 신경망 구현해 보기

03-1 2입력 1출력 인공 신경 구현하기

03-2 2입력 2출력 인공 신경망 구현하기

03-3 3입력 3출력 인공 신경망 구현하기

03-4 2입력 2은닉 2출력 인공 신경망 구현하기


04 _ 활성화 함수 추가하기

04-1 활성화 함수 살펴보기

sigmoid 함수

tanh 함수

ReLU 함수

04-2 활성화 함수의 필요성

활성화 함수는 무엇인가요?

활성화 함수는 왜 필요한가요?

어떤 활성화 함수가 있나요?

04-3 활성화 함수의 순전파와 역전파

tanh 함수 적용해 보기

ReLU 함수 적용해 보기

04-4 출력 층에 softmax 함수 적용해 보기

softmax와 cross entropy

출력 층에 softmax 함수 적용해 보기

tanh와 softmax

ReLU와 softmax



CHAPTER 04 NumPy DNN 구현과 활용

01 _ NumPy DNN 구현하기

01-1 2입력 2출력 인공 신경망 구현하기

행렬 계산식 유도하기

순전파

입력 역전파

가중치 역전파

인공 신경망 행렬 계산식 정리하기

NumPy로 인공 신경망 구현하기

01-2 3입력 3출력 인공 신경망 구현하기

행렬 계산식 유도하기

인공 신경망 행렬 계산식 정리하기

NumPy로 인공 신경망 구현하기

01-3 2입력 1출력 인공 신경 구현하기

행렬 계산식 유도하기

인공 신경망 행렬 계산식 정리하기

NumPy로 인공 신경망 구현하기

01-4 1입력 1출력 인공 신경 구현하기

행렬 계산식 유도하기

인공 신경망 행렬 계산식 정리하기

NumPy로 인공 신경망 구현하기

01-5 행렬 계산식과 1입력 1출력 수식 비교하기

01-6 2입력 2은닉 2출력 인공 신경망 구현하기

행렬 계산식 유도하기

인공 신경망 행렬 계산식 정리하기

NumPy로 인공 신경망 구현하기

01-7 활성화 함수 적용하기

sigmoid 함수 적용해 보기

tanh 함수 적용해 보기

ReLU 함수 적용해 보기

01-8 출력 층에 softmax 함수 적용해 보기

sigmoid 함수 적용해 보기

tanh와 softmax

ReLU와 softmax

01-9 인공 신경망 행렬 계산식

01-10 가중치 초기화하기

ReLU-sigmoid-mse 신경망

ReLU-softmax-cee 신경망

ReLU와 He 초기화

sigmoid, softmax와 Lecun 초기화

He와 Lecun 가중치 초기화하기


02 _ NumPy DNN 활용하기

02-1 세그먼트 입력 2 진수 출력 인공 신경망

02-2 7 세그먼트 입력 2 진수 출력 인공 신경망 2

02-3 입력 데이터 임의로 섞기

02-4 은닉층 추가하기

02-5 입력층과 목표층 바꿔보기

02-6 7 세그먼트 비트열로 매카넘 바퀴 제어하기

02-7 7 초음파 센서 자율주행 인공 신경망


APPENDIX 편미분과 연쇄법칙을 통한 역전파 수식 유도

01 _ 기본 인공 신경

02 _ 편미분 정리하기

03 _2입력 1출력 인공 신경

04 _ 2입력 2출력 인공 신경망

05 _2입력 2은닉 2출력 인공 신경망

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우