Study
[3주 차] 손글씨 인식 프로그램 『혼자 공부하는 바이브 코딩 with 클로드 코드』
by yousw1128
2026. 1. 21.
개요
- 이번 주부턴 클로드를 웹이 아닌 CMD창에서 이용합니다.
npm install -g @anthropic-ai/claude-code
- GIT이랑 NodeJS가 필요한 거 같은데, 저는 이미 깔려있어서 위 명령어만 있으면 됐어요.
- 이번 주 차는 문제 풀이 없이 오로지 '손글씨 인식'에만 집중합니다. (숫자 한정)
- 따라서 손글씨 인식 프로그램을 만들어 본 후, 웹 형식으로 확장해 보겠습니다.
🤖 딥러닝을 해 보자
MNIST 데이터셋 소개
WIKIPEDIA - MNIST dataset sample by Suvanjanprasai CC BY-SA 4.0
- 개인적으로 보안을 시작하기 전에 인공지능을 배웠는데요.
- 그중 딥러닝을 처음 배울 때 이 MNIST 데이터를 주로 접했습니다.
- 이 MNIST 데이터셋은 손글씨로 이루어진 글자 이미지를 모아놓은 집합이에요.
- 딥러닝은 레이블 없이 이 이미지들을 군집화합니다.
- 군집화는 대충 비슷하게 생긴 것들끼리 모아서 '이게 뭐구나~'하는 거라고 보면 될 것 같습니다.
손글씨 인식 원리
- ChatGPT 같은 LLM에 사진을 첨부하고 무언가 요청해 보신 경험이 있으신가요?
- AI는 사진을 볼 수 있는 것처럼 보이지만 사실 사진을 있는 그대로 볼 수 없는데요.
- 이미지가 흑백임을 감안해 가볍게 설명해 보자면 1이 하얀색이고 0이 검은색입니다.
- 대충 숫자가 1이면 막대가 있겠죠? 그럼 AI는 아래처럼 데이터를 보게 될 거예요.
- 이런 패턴 여러 개를 합성곱 신경망이라는 친구가 따로 판단해서 '0~9 중에 하나일 것이다!' 하는 겁니다.
- (1과 9에 모두 막대가 있듯, 겹치는 부분이 있기에 확률적으로 접근해요.)
3주 차 과제
기본 미션 : 손글씨 인식 프로그램 만들기
- 어느 정도 개념을 알았으니 직접 보면 더 잘 이해될 것 같아요!
- 학습 과정은 클로드가 알아서 척척 해내기에 스킵하겠습니다.
- 딥러닝 처음 배울 때 부트캠프도 여러 개 참여했었는데 지금은 너무 쉽게 GUI까지 만들어버리네요..
- 아무튼! 저 검은색 배경에 직접 숫자를 그리면 그 글자가 어떤 숫자인지 판별해서 결과로 알려줍니다.
- 주의할 점은 과도하게 편향된 결과는 잘못 학습된 걸 수도 있다는 것. (특히 98-100%)
추가 미션 : 웹 버전으로 확장하기
- 여기서 실행 프로그램 대신 웹에서 사용할 수 있도록 확장을 해볼 건데요
- 크게 신경 쓸 부분 없이 조금만 손대면 될 것 같아요!
- ... 뭔가 이상합니다.
- 어떤 숫자를 넣어도 결과가 0으로 고정되는 이상현상이 발견됐습니다.
- 여기서 '모델의 연동 버전이 안 맞다', '글씨 입력 부분의 매핑이 원활하지 않다' 등 다양한 원인으로 진행이 막히던 순간인데요.
- 문제를 알아야 디버깅을 하는데, 매번 새로운 이유를 제시해서 해결할 수가 없더라고요..
- 이럴 때 유용한 방법은 그냥 새로 시작하면 됩니다.
- 파일을 지우고, 실행 파일 버전의 CLAUDE.md를 참조해 다시 시작했어요.
CLAUDE.md?
- CLAUDE.md는 나의 프로젝트 과정을 문서로 저장한 마크다운 파일인데요.
- 효율적인 진행을 도모하기 위해 만드는 문서입니다.
- 긴 말을 계속하는 것보단 문서 하나에 덧붙이는 게 훨씬 효율적이니까요.
- 아무튼 위와 같이 구성된 내용으로 웹 버전을 성공적으로 마무리했답니다 😎
- 사실 한 번에 된 것처럼 말하고 있는데 여기까지 시간 좀 걸렸습니다..
- 프로그램을 만들 때 가장 중요한 부분 중 하나가 검증이기에 여러 번 시도해서 숫자를 입력해 봤는데, 전부 의도한 대로 결과가 나와서 OK했습니다. (틀려도 방향성 맞게 틀림.)
- 그런데 제가 지난 글에서도 말했듯, 저는 이런 그라데이션 디자인을 안 좋아해요.
- 저의 소중한 작업을 일단 백업해 주고요.
- 애플의 디자인을 따라달라고 한 뒤 디자인 저작권 관련해서 혹시나 괜찮을까 고민 중이었는데..
마무리
- 3주가 굉장히 빨리 지나갔네요!
- 오늘 진행한 내용을 보니 앞으로 남은 시간도 유의미하게 다가온 것 같습니다.
- 앞으로 스트레스 받는 일이 더 많아질 예정이지만.. 저에겐 필요한 부분일 듯 합니다.
- 개인적으로 CLI를 좋아하는데 이 챌린지에 대한 애정이 더 올라가는 시간이 되었습니다.