ML & DL

ML & DL

[밑시딥1] Chapter 8. 딥러닝

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 8.1 더 깊게 ◾ 8.1.1 더 깊은 신경망 그림 8-1과 같이 구성된 CNN을 만들고자 한다. 여기에서 사용하는 합성곱 계층은 모두 3x3 크기의 작은 필터로 층이 깊어지면서 채널 수가 더 늘어나는 것이 특징이다. 합성곱 계층의 채널 수는 앞 계층에서부터 순서대로 16, 16, 32, 32, 64, 64로 늘어간다. 그림과 같이 풀링 계층을 추가하여 중간 데이터의 공간 크기를 점차 줄여가고 마지막 단의 완전 연결 계층에서는 드롭 아웃 계층을 사용한다. 가중치 초깃값으로 He 초깃값을 사용하고 가중치 매개변수 갱신에는 Adam을 이용한다. import sys, os impo..

ML & DL

[밑시딥1] Chapter 7. 합성곱 신경망(CNN)

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 7.1 전체구조 지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있다. 이를 완전 연결(fully-connected)이라고 하며 완전히 연결된 게층을 affine 계층이라는 이름으로 구현했다. CNN도 지금까지 본 신경망과 같이 레고 블록처럼 계층을 조합하여 만들 수 있다. 합성곱 계층(convolutional layer)과 풀링 계층(pooling layer)이 새롭게 등장한다. CNN에서는 새로운 합성곱 계층(conv)과 풀링 계층(pooling)이 추가 되며 CNN 계층은 Conv-FeLU-(Pooling) 흐름으로 연결된다. 지금까지의 Affine-ReLU 연..

ML & DL

[밑시딥1] Chapter 6. 학습 관련 기술

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 6.1 매개변수 갱신 ◾ 6.1.3 SGD 단점 SGD는 매개변수의 기울기를 구해 기울어진 방향으로 매개변수 값을 갱신하는 일을 몇 번이고 반복해서 최적의 값에 다가갔다. SGD는 단순하고 구현도 쉽지만 비효율적일 때가 있다. 식 6.2는 그림 6-1의 왼쪽처럼 밥그릇을 x축 방향으로 늘인 모습이며 실제로 등고선은 오른쪽과 같이 x축 방향으로 늘인 타원으로 되어 있다. 식 6.2의 기울기를 그려보면 그림 6-2처럼 된다. 이 기울기는 y축 방향은 크고 x축 방향은 작다는 것이 특징이다. SGD는 그림 6-3과 같은 심하게 굽이진 움직임을 보여주는데 이는 비효율적인 움직임이다...

ML & DL

[밑시딥1] Chapter 5. 오차역전파

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 5.1 계산그래프 계산 그래프는 계산 과정을 그래프로 나타낸 것이다. 그래프는 그래프 자료 구조로 복수의 노드와 에지로 표현된다. ◾ 5.1.1 계산 그래프로 풀다 계산 그래프는 계산 과정을 노드와 화살표로 표현한다. 노드는 원으로 표기하고 원 안에 연산 내용을 적는다. 그림 5-1에서는 x2와 x1.1을 각각 하나의 연산으로 취급해 원 안에 표기했지만 곱셈인 x만 연산으로 생각할 수도 있다. 그렇게 되면 그림 5-2처럼 2와 1.1은 각각 사과의 개수와 소비세 변수가 되어 원 밖에 표기하게 된다. 계산 그래프는 왼쪽에서 오른쪽으로 계산을 진행하며 이를 순전파라고 한다. 반대..

ML & DL

[밑시딥1] Chapter 4. 신경망 학습

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서 기준입니다. ◾ 4.1 데이터에서 학습 이번 장의 주제는 신경망의 학습이다. 여기서 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 의미한다. 또, 신경망의 특징은 데이터를 보고 학습할 수 있다는 점이다. ▪️ 4.1.1 데이터 주도 학습 기계학습은 데이터가 생명이다. 데이터에서 답을 찾고 데이터에서 패턴을 발견하고 데이터로 이가리르 만드는 것이 기계학습이다. 그래서 기계학습의 중심에는 데이터가 존재한다. 기계학습에서는 사람의 개입을 최소화하고 수집한 데이터로부터 패턴을 찾으려 시도한다. 게다가 신경망과 딥러닝은 기존 기계학습에서 사용하던 방법보다 사람의 개입을 더욱 배제..

ML & DL

[밑시딥1] Chapter 3. 신경망

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서 기준입니다. ◼️ 3.1 퍼셉트론에서 신경망으로 ◾ 3.1.1 신경망의 예 신경망을 그림으로 나타내면 그림3-1처럼 된다. 가장 왼쪽 줄을 입력층, 맨 오른쪽 줄을 출력층, 중간 줄을 은닉층이라고 한다. 은닉층의 뉴런은 사람 눈에는 보이지 않는다. ◾ 3.1.2 퍼셉트론 복습 위는 x1와 x2라는 두 신호를 입력 받아 y를 출력하는 퍼셉트론이다. 이를 간결한 형태로 다시 작성하기 위해 조건 분기 동작(0을 넘으면 1을 출력하고 그렇지 않으면 0을 출력)을 하나의 함수 h(x)로 나타내면 다음과 같다. 식 3.2는 입력 신호의 총 합이 h(x)라는 함수를 거쳐 변환되어 그 변환된 값이 y의 출력이 됨을..

ML & DL

[밑시딥1] Chapter 2. 퍼셉트론

해당 포스팅은 '밑바닥부터 시작하는 딥러닝1'을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서 기준입니다. ◾ 2.1 퍼셉트론 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 여기서는 1을 신호가 흐르는 것으로, 0을 신호가 흐르지 않는 것으로 사용한다. 그림 2-1은 입력으로 2개의 신호를 받은 퍼셉트론의 예이다. x1과 x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치를 의미한다. 그림에서 원을 뉴런 혹은 노드라고 부른다. 입력 신호가 뉴런에 보내질 때는 각각의 고유한 가중치가 곱해진다. 뉴런에서 보내온 신호의 총합이 정해진 한계(임계값, θ)를 넘어설 때만 1을 출력하며 이를 뉴런이 활성화한다 라고 표현하기도 한다. 이를 수식으로 나타내면 식 2.1과 같다. 퍼셉..

ML & DL

[밑시딥1] Chapter 1. 헬로 파이썬

최근에 밑시딥 스터디를 시작하였다. 블로그에 공부 기록을 남기기로 했으며 주에 2번씩 스터디가 진행 된다. 아는 내용이라고 흘려 보지(듣지) 말고 복습한다는 생각으로 꼼꼼히, 무사히 스터디를 완주하는 것이 목표이다 :) 해당 포스팅은 "밑바닥부터 시작하는 딥러닝 1"을 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서 내용 기준입니다. ◾ 1.1 파이썬이란? 간단하고 배우기 쉬운 프로그래밍 언어로 알려져 있다. 오픈 소스이기 때문에 무료로 사용 가능하며 컴파일 과정도 없어 편리하다는 장점이 있다. 또, 파이썬 코드는 읽기 쉽고 성능도 뛰어나다. 때문에 구글, MS, 페이스북 등에서 파이썬을 자주 사용하고 있다. 파이썬은 numpy, scipy와 같은 라이브러리 때문에 과학 분야, 기계 학습, 데이..

ML & DL

COCO Dataset Download하기 / coco dataset wget으로 다운로드

보통, coco dataset은 아래 링크에서 다운로드가 가능하다. coco dataset download : https://cocodataset.org/#download COCO - Common Objects in Context cocodataset.org 근데 오랜만에 다운로드 하러 들어갔더니 아무리 데이터셋을 클릭해도 다운로드가 되지 않았다. 그래서 wget 명령어를 사용해 바로 원하는 디렉토리에 다운을 받고자 했지만... 이전에 사용했던 다운로드 경로가 변경되었는지 다운로드가 정상적으로 되지 않았다. 변경된 다운로드 경로를 열심히 구글링 해서 찾아냈고 같은 삽질을 반복하지 않기 위해 포스팅으로 남겨두게 되었다. ◾ COCO Datastet wget으로 Download하기 다운로드 후 압축 파일을 ..

ML & DL

wandb | Weight & Biases(wandb) 설치 및 pytorch에서 사용하기

yolov5나 mmcv 등을 사용하면서 학습 과정을 매 에폭마다 확인할 수 있고 결과까지 예쁘고(? 편하게 볼 수 있어 wandb를 연동하여 사용하고 있다. 회원가입을 하고 init이라는 아주 간단한 것만 해주면 학습 과정 및 결과를 기록하고 저장하기 편하다. 1️⃣ 회원 가입 & wandb 설치 https://wandb.ai/home Sign In with Auth0 Sign in with Microsoft Account wandb.ai 위 사이트에서 wandb에 회원가입을 먼저 해야 한다. 구글과 깃허브 계정으로 쉽고 빠르게 회원 가입이 가능하다. 회원 가입을 한 후에 wandb를 설치 해 주어야 한다. wandb를 사용할 가상환경에 접속한 후 pip install wandb 이렇게 wandb를 설치..

토오오끼
'ML & DL' 카테고리의 글 목록