관리 메뉴

애독자's 공부방

[혼만딥] 1주차 _ 혼자 만들면서 공부하는 딥러닝 본문

머신러닝+딥러닝/혼공학습단 14기

[혼만딥] 1주차 _ 혼자 만들면서 공부하는 딥러닝

애독자 2025. 7. 2. 02:08
728x90

혼공단 - 혼만딥, 혼자 만들면서 공부하는 딥러닝

 

 

■ 시작에 앞서..

기존 '혼공머신', '혼공분석' 혼공단 활동을 바탕으로, 올해 '빅데이터 분석기사' 시험에 응시 후 실기 결과를 기다리는 중입니다. 그동안 해왔던 공부가 정말 큰 도움이 되었고, 이제는 '다시 하라면 못 하겠다'는 절박함(!)과 함께, 제발 합격하기만을 바라고 있습니다.  시험을 끝내고 나니, 머릿속이 하얘지면서도 한편으로는 "이제 정말 인공지능 공부를 제대로 시작해보자!'라는 의욕이 샘솟습니다. 때문에 13기를 마무리하며, 14기에는 '혼자 공부하는 SQL'를 진행하겠다고 했지만, '혼자 만들면서 공부하는 딥러닝'으로 변경하게 되었습니다.

2025.02.18 - [데이터분석/혼공학습단 13기] - 혼공학습단 13기 활동 회고

 

 

■ 공부한 내용

# 진도 기본 숙제(필수) 추가 숙제(선택)
1주차
(6/30 ~ 7/6)
Chapter 01 Ch.01(01-1, 01-2) 구글 코랩에 텐서플로/케라스 설치하고, LeNet 모델 구조 그림으로 그려보기 convolutional, Pooling, Dense 레이어의 기능 각각 설명하기(p.49)

 

 

 

□ Chapter 01 | 합성곱 신경망(CNN)으로 패션 상품 이미지 분류하기
▷ 01-1 | 딥러닝 개발환경 구축하기
 1. 구글 코랩: 주피터 노트북 기반의 무료 파이썬 실행 환경. 컴퓨터에 웹브라우저 이외의 다른 도구를 설치할 필요 없이, 파이썬과 과학 라이브러리가 설치된 구글 클라우드 런타임 활용 가능.

 2. 주피터 노트북: 웹브라우저로 코드를 작성하고 실행할 수 있는 파이썬 개발 도구. 문서와 코드, 실행 결과를 모두 담은 파일을 저장하고 함께 공유 가능.

 3. 텐서플로: 구글에서 만든 딥러닝 프레임워크. 저수준 연산은 C++과 CUDA로 구현되어 있으며, 고수준 파이썬 API를 제공.

 4. 케라스: 딥러닝을 위한 고수준 래퍼(Wrapper) 라이브러리로 2.4 버전부터는 텐서플로 전용 라이브러리였지만, 3.0 버전부터는 다시 파이토지와 JAX를 지원하는 멀티 백엔드 정책을 채택

 

 

▷ 01-2 | 합성곱 신경망(CNN) 모델 이해하기

 1. 인공 신경망(Artificial Neural Network): 입력층과 은닉층, 출력층을 거쳐 데이터를 처리하며, 비교적 간단한 텍스트 분류 작업이나 금융 데이터 예측에 사용.

  - 입력층: 처음 들어오는 데이터를 받는 곳으로, 신경망이 처리해야 할 원본 데이터를 전달하는 역할.
  - 은닉층: 입력층과 출력층 사이에 있는 모든 층으로, 외부에서 직접적으로 보이지 않는 층. 복잡한 계산을 통해 입력 데이터의 패턴을 찾고, 중요한 특징을 뽑아내는 역할.
  - 출력층: 최종 결과를 내는 곳으로, 신경망의 최종 값을 생성.

 2. 합성곱 신경망(Convolutional Neural Network): 이미지 분류, 객체 탐지 등을 위한 신경망 모델. 합성곱층과 풀링층을 반복해서 쌓는 것이 특징.

  - 합성곱층(Convolutional layer): 이미지의 작은 부분을 스캔하여 중요한 특성을 추출하는 층. 출력은 특성맵.

   . 필터: 뉴런의 개수  |  커널: 입력에 곱해지는 가중치

   . 패딩(padding): 이미지의 가장자리에 빈 공간을 추가해 이미지 가장자리 부분의 픽셀이 충분히 처리될 수 있는 기회를 부여.
   . 스트라이드(stride): 필터가 이미지 위를 이동하는 속도. (몇 칸씩 이동하는지를 결정)
  - 풀링층(Pooling layer): 합성곱층에서 추출된 특성 맵을 축소해 처리 속도를 높이고, 모델이 더 중요한 패턴에 집중하도록 만드는 층. 이미지의 크기를 줄이면서도 중요한 정보는 유지하는 역할.
   . 풀링: 가중치가 없고 특성 맵의 가로세로 크기를 줄이는 역할. (최대 풀링과 평균 풀링)
  - 밀집층(Dence layer): 이전 층에서 추출된 특성을 바탕으로 최종 결과를 도출하는 층.
 3. LeNet-5: 페이스북의 얀 르쿤 박사가 만든 최초의 합성곱 신경망으로, 미국의 우편 서비스에 실제로 적용되어 자동 우편번호 인식에 활용.

 

 

 

■ 기본 숙제

 ▷ Ch.01(01-1, 01-2) 구글 코랩에 텐서플로/케라스 설치하고, LeNet 모델 구조 그림으로 그려보기

  - 구글 코랩에는 기본적으로 텐서플로와 케라스가 설치되어 있다. 때문에, GPU 사용 여부를 확인하는 방법과 텐서플로를 설치하는 방법에 대해 확인했다.

 

 - LeNet 모델 구조는 아래 사이트를 활용해 그려봤다. Github 사진에 보이는 외국인 개발자분 덕분에 쉽게 그릴 수 있었다.

  . 모델 그리기: https://alexlenail.me/NN-SVG/LeNet.html

  . 개발자분 Github: https://github.com/alexlenail

 

 

 

■ 추가 숙제(선택)

 ▷ convolutional, Pooling, Dense 레이어의 기능 각각 설명하기(p.49)

  - 위와 같이 공부한 내용을 정리할 때 이미 작성했지만, 나만의 방식으로 다시 정리해봤다.

비유 역할
합성곱층 돋보기(필터)로 이미지를 세밀하게 훑으면서 특징을 확인 세부 특징(패턴) 추출
폴링층 이미지를 축소하는 과정에서 가장 중요한 부분만 남김 (최대 또는 평균) 정보 요약 및 크기 축소, 불필요 정보 제거
밀집층 지금까지 모은 핵심 특징을 종합하여 최종적으로 판단 (분류, 예측) 특징 종합, 최종 결과 도출

 

728x90