CNN을 이용하여 퀵드로우의 손 그림 데이터를 학습하고 학습한 그림을 인식하는 앱입니다. 이 앱은 100개의 그림을 인식할 수 있습니다.
실습으로 배우는 인공지능 — 도서 순서
책에 실린 실습을 나온 순서 그대로 모았습니다. 앞에서부터 따라가면 인식 → 학습 → 신경망 → 생성으로 자연스럽게 넘어갑니다.
책을 읽는 중이라면 쪽수를 보고 찾아가세요. 책이 없어도 순서대로 해보면 됩니다. 그동안 문을 닫은 서비스는 빠져 있습니다.
첫 만남
컴퓨터가 내 그림을 알아보는 순간부터 시작합니다.
컴퓨터가 사람을 본다
얼굴, 손, 자세, 물체. 웹캠 하나로 인식이 어디까지 되는지 훑어봅니다.
MediaPipe의 얼굴 인식 솔루션은 얼굴의 유무를 빠르게 감지하고, 6개의 주요 부분을 표시해줍니다. 이 기능은 간단해서 처리 속도가 매우 빠릅니다.
MediaPipe는 얼굴 인식 솔루션을 제공합니다. 얼굴의 468개 지점을 추정하고 3D 형태로 변환하여 얼굴에 맞춰 보여줍니다.
MediaPipe는 포즈 인식 솔루션을 제공합니다. 사람 몸 전체에서 33개 주요 부분의 위치를 추정하고 이들을 연결해서 뼈대와 같이 보여줍니다.
MediaPipe는 손과 손가락을 추적할 수 있는 솔루션을 제공합니다. 1-4개의 손에서 21개 주요 부분의 움직임을 추적할 수 있습니다.
MediaPipe의 손, 얼굴 그물, 포즈의 기능들을 통합하여 제공합니다.
MediaPipe와 TensorFlow를 이용하여 캐릭터 애니메이션을 만들 수 있습니다. 이 기능은 사람의 얼굴 또는 전체를 인식해서 캐릭터가 따라 움직이는 것을 구현하였습니다.
MediaPipe의 FaceMesh를 활용해서 얼굴을 인식하고, 이를 바탕으로 가상의 아바타를 만들어 주는 앱입니다.
TensorFlow를 이용하여 만든 얼굴 인식 앱입니다. 이 앱은 인식된 얼굴에서 표정과 나이 등의 정보를 추측하여 보여줍니다.
이 애플리케이션은 일상에서 흔히 볼 수 있는 물체를 3D로 인식할 수 있습니다. 특정 데이터로 학습된 사물에 대해 실시간으로 포즈를 추정하여 보여줍니다.
카메라로 촬영되는 영상에 서리가 끼는 것을 제거하는 게임입니다. 이 게임은 손 인식 모델을 활용하여 제작되었습니다.
제시된 이모티콘과 같은 사물을 주변에서 찾는 게임입니다. CNN을 통해 이미지를 예측하고, 예측과 정답(이모티콘)의 일치 여부를 확인합니다.
촬영한 영상에서 실시간으로 사람의 포즈와 얼굴을 인식하고, 이를 움직이는 캐릭터 애니메이션으로 만드는 앱입니다.
내가 직접 가르친다
남이 만든 모델을 쓰는 데서 한 걸음 나아가, 내 손으로 학습을 시켜 봅니다.
누구나 머신러닝 모델을 쉽고 빠르게 만들 수 있도록 제작된 웹 기반 머신러닝 학습 도구입니다. 이미지, 오디오, 포즈 모델을 제작할 수 있습니다.
스크래치 3에 머신러닝 라이브러리를 추가한 애플리케이션입니다. 머신러닝의 기능들이 블록 형태로 구성되어 있어서 기존의 스크래치 블록과 유사하게 사용할 수 있습니다.
CNN을 활용한 이미지 인식기능으로 2048 게임을 진행할 수 있습니다.
이미지 인식을 통해 방향을 조작할 수 있도록 만든 팩맨 게임입니다. 사전 훈련된 모바일넷 모델을 4개 방향의 동작 인식에 활용하였습니다.
스스로 배우는 AI — 강화학습
정답을 알려주지 않고, 잘하면 상을 줍니다. 게임을 두고 혼자 늘어가는 과정을 지켜보세요.
DQN 기반의 자율주행 자동차 시뮬레이터입니다. 이 시뮬레이터는 DQN을 활용하여 자동차가 스스로 주행하는 방법을 학습합니다.
DQN을 활용하여 공 피하기 방법을 학습하는 과정을 보여주는 앱입니다. 에이전트는 센서로부터 정보를 받고 오래 살아 있을 수록 많은 보상을 받습니다.
DQN을 활용하여 적 비행기 피하기 학습 과정을 보여주는 앱입니다. 에이전트는 센서로부터 정보를 받고 오래 살아 있을 수록 많은 보상을 받습니다.
DQN을 활용하여 스네이크 게임을 학습하는 과정을 볼 수 있습니다. 벽과 자신의 몸에 부딪히면 마이너스 보상을, 과일을 먹으면 플러스 보상을 받도록 강화학습이 진행되었습니다.
신경망과 유전 알고리즘을 이용하여 플래피 버드 게임 학습 과정을 볼 수 있습니다. 새들은 세대를 거치며 이전 세대의 정보를 바탕으로 더 잘 날게 됩니다.
지도학습 알고리즘을 이용하여 고릴라 게임 플레이 방법을 가르쳤습니다. TensorFlow로 제작한 간단한 신경망을 이용했습니다.
MCTS 알고리즘을 이용하여 2048 게임을 학습하는 과정을 볼 수 있습니다. 한번의 움직임에 많은 시뮬레이션 수를 제공하면 높은 확률로 2048에 도달할 수 있습니다.
CNN — 그림을 알아보는 원리
인식이 되는 건 봤으니, 이제 안을 열어 봅니다. 층을 지나며 무엇이 남는지 보이는 자료들입니다.
Keras는 인공지능을 쉽고 빠르게 구현하도록 돕는 딥러닝 라이브러리입니다. 데모에서는 브라우저에서 Keras의 학습 과정과 성능을 확인할 수 있습니다.
ConvNetJS는 브라우저에서 딥러닝 모델을 학습할 수 있는 라이브러리입니다. 데모를 통해 신경망의 학습 과정과 결과를 시각화해서 볼 수 있습니다.
퀵드로우의 손 그림 데이터 세트를 학습하여 사용자의 그림이 무엇인지 인식하는 게임입니다. 이 게임은 CNN을 이용하여 그림을 학습하고 인식합니다.
CNN을 활용하여 테트리스 게임을 학습하는 인공지능을 만들었습니다. 챔피언의 경기 데이터와 유사하게 블록을 놓도록 반복 훈련되었습니다.
사용자가 CNN의 내부 작동 방식을 쉽게 이해할 수 있도록 구현한 프로그램입니다. 이미지 인식 과정을 단계별로 시각화해서 볼 수 있습니다.
TensorFlow로 사전 훈련된 딥러닝 모델을 로드해서 이를 3D 시각화 장면으로 출력합니다. 각 모델의 처리 과정을 시각화하여 볼 수 있습니다.
사용자가 그린 그림이 무엇인지 예측하고, 일치할 확률이 높은 아이콘들을 제시해서 사용자가 선택할 수 있도록 만든 그리기 앱입니다.
사용자가 문제로 제시한 그림을 그리면 그 그림이 무엇인지 학습된 인공지능이 맞추는 게임입니다.
RNN — 순서를 기억하는 신경망
앞을 기억해야 하는 것들 — 멜로디, 글씨, 동작. 음악이 가장 잘 들리는 예시입니다.
사전 훈련된 드럼 RNN 모델을 이용하여 만든 드럼 작곡 앱입니다. 씨앗 패턴을 제공하면 이를 바탕으로 다음 패턴을 연속적으로 생성해줍니다.
Performance RNN 모델을 활용하여 조표의 사용 빈도를 참고해서 곡을 창작해줍니다. 모델은 LSTM을 이용하여 음악적 구조와 패턴을 학습했습니다.
LSTM을 활용해서 사용자가 작성한 글자들의 획(stroke)을 기억하고, 이를 바탕으로 예측된 글자들을 보여줍니다.
RNN을 활용하여 만든 이어 그리기 앱입니다. 퀵드로우의 데이터 세트를 학습하여 사용자가 그림을 그리면 손 그림처럼 이어서 그려주는 기능을 가지고 있습니다.
MusicVAE 모델을 활용하여 반복되는 멜로디를 생성하는 앱입니다. MusicVAE는 여러 멜로디를 부드럽게 연결하여 조화로운 멜로디를 만들 수 있습니다.
Magenta와 Improv RNN를 활용하여 아르페지오 패턴을 연주하게 제작하였습니다. Improv RNN은 기본 코드 진행에 따라 멜로디를 조건부로 생성합니다.
TensorFlow와 카메라를 이용한 동작 인식으로 캐릭터를 조종할 수 있는 게임입니다. 게임 캐릭터가 사용자의 행동을 따라서 상대방을 공격합니다.
GAN — 없는 것을 만들어 낸다
둘이 겨루면서 진짜 같은 것을 만들어 냅니다. 생성형 AI의 앞 세대입니다.
GAN의 학습 과정을 대화형 시각화 도구로 실시간으로 살펴볼 수 있는 프로그램입니다. 2D 데이터에 대한 생성자와 판별자의 작동 과정을 예시로 제시하였습니다.
선택한 속성 값으로 얼굴 이미지를 생성하는 GAN 모델입니다. 모델의 종류와 속성 값을 변경해서 원하는 캐릭터 이미지를 만들 수 있습니다.
Pix2Pix GAN 모델을 이용해서 스케치 등의 소스 이미지를 입력 받아 다른 형태의 이미지로 변환해주는 서비스입니다.
AnimeGAN 모델을 이용해서 풍경 사진을 애니메이션화 할 수 있는 서비스입니다.
자율주행
인식과 강화학습이 실제 문제에서 만나는 자리입니다. 마지막에는 답이 없는 질문도 하나 있습니다.
KITTY와 NuScenes 데이터 세트를 streetscape.gl(자율주행 데이터를 시각화하기 위한 도구)을 이용해서 시각화한 자율주행 데모입니다.
WebGL과 Three.js로 구축된 자율주행 시뮬레이터입니다. 시뮬레이터는 정적 및 동적 장애물을 회피하고 목적지에 도달할 수 있도록 설계되었습니다.
여러 강화학습 알고리즘을 적용해서 자율주행 자동차를 훈련시켜볼 수 있습니다. 각각의 강화학습 과정과 그 결과를 확인 가능합니다.
자율주행 중 발생할 수 있는 윤리적 문제 상황을 게임 형태로 보여주는 앱입니다. 정답이 있는 것은 아니고, 다른 사람의 선택도 확인할 수 있습니다.
생성형 AI
책이 나온 뒤로 가장 많이 달라진 자리입니다. 지금 쓰이는 서비스들로 갱신해 두었습니다.
GPT-5, Claude 3.5, SD3 등 전 세계의 유명한 최신 AI 모델들을 한곳에서 무료로 선택하여 사용할 수 있는 국내 AI 포털 서비스입니다.
OpenAI의 대표적인 대화형 AI입니다. 최신 GPT-5 모델을 탑재하여 텍스트뿐만 아니라 목소리로 대화하고, 이미지를 보고 분석하거나 그림을 그리는 멀티모달 기능을 제공합니다.
GPT-5를 기반으로 한 마이크로소프트의 AI 비서(구: 빙 채팅)입니다. 검색 엔진 Bing과 결합되어 최신 정보를 바탕으로 답변하며, DALL·E 3를 통해 그림도 그려줍니다.
구글의 최신 멀티모달 AI 모델인 Gemini(구: Bard)입니다. 텍스트, 코드, 이미지를 모두 이해하고 처리할 수 있으며, 구글 서비스와 연동하여 다양하고 정확한 정보를 제공합니다.
로그인 없이 무료로 사용할 수 있는 AI 이미지 생성 도구입니다. 과거 'DALL·E mini'라는 이름으로 유명했으며, 가볍게 이미지를 만들어보기에 적합합니다.
DALL·E 3를 탑재한 마이크로소프트의 이미지 생성 도구(구: Bing Image Creator)입니다. 사용자가 입력한 문장을 고품질의 이미지로 변환할 수 있습니다.




















































