반응형

Study 45

[AI] Recurrent Neural Networks(RNN)

Sequential Model 시퀀셜 데이터는 인풋의 길이가 정해지지 않아서 차원을 정해놓기가 어렵다. 따라서, 몇개의 입력데이터가 들어오는지 상관없이 모델은 작동을 해야함 만약에 이전의 데이터를 바탕으로 다음의 데이터를 예측해본다하자. 첫번째 데이터는 아무것도 고려못하고, 2번째는 첫번째거를, 세번째는 1,2번째를 등등 나아갈수록 고려해야하는 데이터가 점점 많아짐 Autoregressive Model 과거에 볼 데이터의 길이를 정해두는 것! Markov model 내가 가정을 하기에 나의 현재는 과거에만 의존한다는 것. 이때 과거는 바로 직전 실제로는 말이안됨. 오늘이 수능이면 전날 공부한 것에만 의존한다? 이는 많은 정보를 잃게 됨. 하지만 joint distribution을 설명하기에 엄청 쉬워진다..

Study/AI 2023.03.26

[AI] Convolutional Neural Networks(CNN)

패딩이나 stride를 고려하지않고 (77) 이미지를 (33) 필터를 쓰면 (5*5)의 결과가 나온다. 7-4+1 = 5 적용하고자 하는 필터에 따라 같은 이미지가 Blur, Emboss, Outline등의 형태로 나올 수도 있다. RGB Image Convolution 32-5+1 을 통해 28이 나오게 되며 (32323)의 이미지를 (55)의 필터를 사용한다하면 (553)이라는 필터를 사용한다는 것을 의미한다. 이는 2828*1의 피쳐를 갖게된다. 위의 필터가 필터가 4개가 있다면, 채널이 4인 (28284)의 피쳐를 갖게된다. 인풋 채널과 아웃풋의 채널을 알면 필터의 채널도 알 수 있다. Stack of Convolutions (32323)의 인풋이 (28284) 값으로 나오게 될려면 필터가 (55..

Study/AI 2023.03.26

[네이버 부스트캠프 AI Tech 5기] 3주차 회고록

딥러닝 기초이론에 대한 학습을 진행한 한주였다. 여전히 강의가 벅차긴 하지만 새로운 내용을 학습한다는 것에 대해, 깊게 알아보다는 것에 대해 만족할 수 있었다. 마스터 특강에서 '익숙하지 않은 경험을 해본다는 것'에 대해 깊은 감명을 받았다. 지금 배우는 내용들이 어렵다 하더라고 새로운 내용을 배운 다는 것에 재미를 느끼고, 말을 잘 못하는 내가 질문을 자주 하게 될 기회라고 생각하자. "중요한 것은 꺽이지 않는 마음" Fact(사실 : 무슨 일이 있었나?) 딥러닝 기초에 대한 학습 두런두런 특강에서 러닝마스터 변성윤 마스터님에게 많은 조언을 들음 멘토링에서 대시보드 만드는법, 활용하는 법에 대해 학습 마스터클래스 learning by teaching에서 최성준 마스터님에 대한 인생과 가르치면서 배운다 ..

[Pytorch] 모듈과 데이터셋 + 데이터로더

torch.nn.Module 딥러닝을 구성하는 Layer의 base class input, Output, Forward, Backward 정의 학습의 대상이 되는 parameter(tensor) 정의 nn.Parameter Tensor 객체의 상속 객체 nn.Module 내에 attribute가 될 때는 required_grad = True로 지정되어 학습 대상이 되는 Tensor 보통 우리가 직접 지정할 일은 잘 없고 대부분의 layer에는 weights 값들이 지정되어 있음. class MyLinear(nn.Module): def init (self, in_features, out_features, bias=True): super(). init () self.in_features = in_featur..

Study/AI 2023.03.19

[Pytorch] 파이토치 기초

프레임워크 딥러닝 프레임워크는 텐서플로우, 케라스, 파이토치 등등 엄청나게 많다 사실상 텐서플로우와 파이토치가 표준으로 자리 잡고 있다. 파이토치는 페이스북에서 만들었고, 텐서플로우는 구글에서 만든 프레임워크이다. Keras TensorFlow Pytorch Level-of-Api high-level-api how+low level api lower-level api Speed slow high high Architechture simple complex complex Debugging 디버그 필요없음 디버그가 어려움 디버그가 쉬움 데이터셋 느리고 작음 빠르고 큼 빠르고 큼 사용성 유저친화적 어려운 api 파이썬에 통합된 언어 인기도 1 2 3 그래프 연산 Static-graphs Static-graph..

Study/AI 2023.03.19

[네이버 부스트캠프 AI Tech 5기] 2주차 회고록

파이토치를 배우는 한주였다. 다양한 파이토치 함수, 모듈, 모델 생성등을 배웠지만 실제로 적용할 수 있을까란 불안함이 있었다. 조교님에게 들은 거 처럼 탑다운 방식으로 필요한 부분이 있을때 내용들을 찾아서 공부하자. 그래도 파이토치를 이용한 데이터셋,로더 등 나만의 프로젝트를 딥러닝으로 구현하는 목표가 생겼다. Fact(사실 : 무슨 일이 있었나?) 파이토치에 대한 첫 학습이 시작됨 과제에 대한 토론, 질의응답 과제 해결을 위한 구글링 및 공식문서 찾기 마스터클래스에서 엔지니어로서 필요한 역량 강의 멘토링에서 깃허브에 대한 학습 스페셜 피어세션 팀회고록 Feeling(느낌: 무슨 느낌이 들었나?) 파이토치에 대한 사용법을 가볍게 넘어가니깐 뒤에 나오는 hook이나 apply에서 적용하는게 어려웠음 모르니..

[AI] 딥러닝 기초

1. 신경망 신경망은 선형모델과 활성함수를 합성한 함수이다. 선형함수로 출력된 값을 활성함수로 씌운 값이 잠재벡터(뉴런)이라고 한다. 이를 이용한 뉴런 네트워크를 perceptron이라고 한다. 다층 퍼셉트론은 된 함수이다. 2. 소프트맥스 소프트맥스 함수는 모델의 출력을 확률로 해석할 수 있게 변환해 주는 연산이다. 분류 문제를 풀 때 선형모델과 소프트맥수 함수를 결합하여 예측한다. 3. 활성함수 활성함수는 비선형함수로서 선형모델로 나오는 출력물 원소에 적용하는 것 소프트맥스는 출력물 모든 것을 고려한다면, 활성함수는 특정 주소에 있는 값만으로 출력하기에 실수값만 받음 이렇게 딥러닝에서는 활성함수를 통해 선형모델의 결과를 비선형으로 바꿀 수 있고 변경시킨 벡터를 잠재벡터라고 부르고 “뉴런”이라고 부르고..

Study/AI 2023.03.12

[Math] 경사하강법

1. 미분, 경사하강법 미분(differentiation)은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에서 제일 많이 사용하는 기법이다. 미분은 함수 f의 주어진 점 (x,f(x)) 에서의 접선의 기울기를 구한다. 한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가하는지/감소하는지 알 수 있다. 미분값을 더하면 경사상승법(gradient ascent)이라 하며 함수의 극대값의 위치를 구할 때 사용한다 미분값이 음수면 x+f’(x) < x는 왼쪽으로 이동하여 함수값이 증가한다. 반대로, 미분값을 빼면 경사하승법(gradient desscent)이라 하며 함수의 극소값의 위치를 구할 때 사용한다 미분값이 음수면 x-f’(x) < x는 오른쪽으로 이동하여 함수값이..

Study/AI 2023.03.12

[Math] 벡터와 행렬

벡터 벡터는 숫자를 원소로 가지는 리스트 또는 배열이다. 벡터는 공간에서 한 점을 나타낸다. 벡터는 원점으로부터 상대적 위치를 표한한다. 벡터에 숫자를 곱해주면 길이만 변한다. 벡터끼리 같은 모양을 가지면 덧셈, 뺄셈을 계산할 수 있다. 두 벡터의 덧셈은 다른 벡터로부터 상대적 위치이동을 표현한다. 벡터의 노름 L1 노름은 각 성분의 변화량의 절대값을 모두 더한 것이다. L2 노름은 피타고라스 정리를 이용해 유클리드 거리를 계산한 것이다. 두 벡터 사이의 거리를 이용하여 각도도 계산 가능할까? L2 노름을 이용하여 각도를 제 2 코사인 법칙을 이용하면 계산 가능하다 L1 노름에서는 각도를 계산할 수 없다. 4.행렬 행렬은 벡터를 원소로 가지는 2차원 배열이다. 행렬은 행(row)와 열(column)이라는..

Study/AI 2023.03.12

[AI] 넘파이와 판다스

넘파이 일반 리스트에 비해 빠르고, 메모리 효율적 반복문 없이 데이터 배열에 대한 처리를 지원 차원 1차원 [1,2,3,4] (4,) 로 표현 - 컬럼의 갯수 2차원 [[1,2,3,4],[1.2.3.4],[1.2.3,4]] (3,4) : 위에서 4가 한칸 밀리고 새로운 차원인 3이 앞으로 [[[1,2,3,4],[1.2.3.4],[1.2.3,4]] [[1,2,3,4],[1.2.3.4],[1.2.3,4]] [[1,2,3,4],[1.2.3.4],[1.2.3,4]] [[1,2,3,4],[1.2.3.4],[1.2.3,4]] ] 3차원 (4,3,4) 위에서 2차원에서 앞에 새로운 차원 4가 생성 나머지 밀림 reshape 넘파이의 배열을 바꿔줌. -1을 넣으면 나머지를 고려하여 알아서 shape 지정 flatten..

Study/AI 2023.03.12
반응형