일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 크롤러
- 머신러닝
- AI
- mnist
- filtering
- 피플
- 선형대수학
- 앱개발
- 선형회귀
- pytorch
- 딥러닝
- RNN
- 유데미
- 파이썬
- map
- Regression
- 플러터
- 42서울
- 인공지능
- 42경산
- 자연어처리
- CV
- Flutter
- 크롤링
- 코딩애플
- 모델
- Computer Vision
- 지정헌혈
- 회귀
- 데이터분석
- Today
- Total
목록밑바닥부터 시작하는 딥러닝 (6)
David의 개발 이야기!
1. 자연어 처리란? 한국어나, 영어처럼 우리가 평소에 쓰는 말을 자연어(natural language) 라고 한다. 자연어 처리(Natural Language Processing)는 자연어를 처리하는 분야이고, 즉, 자연어 처리가 추구하는 목표는 "사람의 말을 컴퓨터가 이해하도록 만들어서, 컴퓨터가 우리에게 도움이 되는 일을 수행하게 하는 것"이다. 2. 시소러스를 활용한 기법 시소러스란 유의어 사전으로, '뜻이 같은 단어(동의어)', 나 ' 뜻이 비슷한 단어(유의어)'가 한 그룹으로 분류되어 있다. 또한, 시소러스에서는 단어 사이의 '상위와 하위' 혹은 '전체와 부분' 등 더 세세한 관계까지 정의해둔 경우가 있다. "car"의 상위 개념으로 "motor vehicle"이라는 단어가 존재한다. 한편 "..
1. 데이터 주도 학습 2. 훈련데이터와 시험 데이터 기계학습 문제는 데이터를 훈련데이터와 시험데이터로 나누어서 학습과 실험을 수행한다. 훈련데이터만 사용해서 최적의 매개변수를 찾고, 시험데이터를 사용해 앞서 훈련한 모델의 실력을 평가한다. 이러한 방법을 사용하는 이유는, overfitting 문제를 피하기 위해서다. overfitting 문제는, 한 데이터셋에저만 지나치게 최적화된 상태를 의미한다.(과대적합) 3. 미니 배치 미니 배치를 이용하는 이유는 컴퓨터의 정보처리 효율성 때문이다. 컴퓨터는 10000개의 데이터를 1개씩 10000번 연산하는 것보다, batch_size 단위(100개 ) 의 데이터를 100번에 연산할때 보다 더 계산량이나 속도에 있어 효율적이다. 책에 따르면, 이미지 1장당 처리..
1. MNIST 데이터셋 MNIST 는 기계학습 분야에서 아주 유명한 데이터셋으로 0-9까지 숫자 이미지로 구성된다. 훈련이미지가 6만장, 시험이미지가 1만장 준비되어 있다. 이러한 데이터를 통해 모델을 학습하고, 학습한 모델로 시험 이미지들을 얼마나 정확하게 분류하는지를 평가한다. load_mnist 함수는 읽은 MNIST 데이터를 (훈련이미지, 훈련레이블), (시험이미지, 시험레이블) 형식으로 반환한다. 인수로는 3가지를 설정할 수 있는데, normalize 는 입력 이미지의 픽셀 값을 0.0 ~ 1.0 사이의 값으로 정규화할지를 정한다. flatten 는 입력이미지를 평탄하게, 즉 1차원 이미지로 만들지를 결정한다. FALSE 설정하면 1*28*28의 3차원의 배열로, True로 하면 784개의 원..
1. 퍼셉트론에서 신경망으로 2. 활성화함수의 등장 활성화함수에 대한 더 자세한 설명은 아래글을 참고 바란다! 2022.01.16 - [인공지능공부] - 활성화 함수가 필요한 이유는 무엇일까? 활성화 함수가 필요한 이유는 무엇일까? 신경망 회로에서, 한 노드에 대해 입력값을 다음 노드에 보낼지 말지에 대해 결정하는 함수를 의미한다. 선형 함수가 아니라 비선형 함수를 사용하는 이유는 딥러닝 모델의 레이어 층을 깊게 가 david-kim2028.tistory.com 2-1 계단 함수 구현하기 2-2 시그모이드 함수 구현하기 2-3 ReLU 함수 구현하기 3. 다차원 배열의 계산 3-1 계산하기 위해 알아야할 것들 ndim() -> 배열의 차원수를 확인하는 함수! .shape -> 배열의 형상을 확인하는 인..
9. 배치 처리를 해보자 합성곱연산도 배치처리를 지원한다. 그래서 각 계층을 흐르는 데이터의 차원을 하나 늘려 4차원 데이터로 저장한다. ( 데이터수, 채널 수, 높이, 너비 ) 순으로 저장한다. 데이터가 N개 일때, 아래의 그림과 같이 된다. 위 그림을 보면, 각 데이터의 선두에 배치용 차원이 추가되어있다. 이처럼 데이터는 4차원 형상을 가진 채 각 게층을 타고 흐른다. 여기서 주의할 점은, 신경망에 4차원 데이터가 하나 흐를때마다, 데이터 N개에 대한 합성곱 연산이 이뤄진다는 것이다! N 회분의 처리를 한번에 수행하는 의미이다! 10. 풀링 계층 풀링은 세로 가로 방향의 공간을 줄이는 연산이다. 위 그림은 최대풀링( 맥스 풀링 max pooling )을 스트라이드 2로 처리하는 것을 보여준다. 최대풀..
Convolutional Neural Network, CNN 에 대해서 알아보자. 1. Affine 계층이란? 인접하는 계층의 모든 뉴런과 결합되어 있는 신경망을 완전연결(fully-connected, 전결합) 이라고 하며, 완전히 연결된 게층을 Affine 계층이라고 한다. Affine 계층을 사용하면, 층이 5개인 신명망은 위와 같이 구현할 수 있다. 완전연결 신경망은 Affine 계층 뒤에 활성화 함수를 갖는 ReLU 계층(혹은 Sigmoid 계층) 이이어진다. 위 그림에서는, Affine-ReLU 조합이 4개 쌓였고, 마지막 5번째 층은 Affine 층에 이어 소프트맥스 계층에서 최종 결과(확률) 을 출력한다. 2. CNN으로 이뤄진 네트워크의 예 CNN 에서는 새로운 '합성곱 계층(Conv)' ..