본문 바로가기

BARAM22

Naver 부스트코스 - Certificate 수료증 마치며 2022년 여름방학, 정말 그 누구보다 열심히 살았다고 자부할 수 있을만큼 알차게 보낸 것 같다. 저 수료증 사진으로 보상을 받는 기분이다. 이제 여기서 그치는 것이 아니라, 하고싶은 공부는 이 카테고리에 꾸준히 해나가야겠다. 회고록 써보라고 여기저기서 추천을 받아서 몇줄 적어보는데 오그라들어서 오늘은 여기까지 해야겠다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 끝! 2023. 10. 1.
Lec 11-6 : RNN Packed Sequence 딥러닝 공부 30일차 Sequential Data 이번에는 길이가 각각 다른 시퀀스 데이터를 하나의 배치로 묶는 2가지 방법에 대해서 알아보겠습니다. 자세히 알아보기 전에 sequential data 가 또 무엇이 있는지 알아보겠습니다. 시퀀셜 데이터는 길이가 정해지지 않는 경우가 많습니다. Padding CNN을 공부할 때 배웠던 padding과 비슷한 느낌입니다. 위 그림과 같이 다섯개의 각기 다른 사이즈를 가진 시퀀셜 데이터를 하나의 배치로 묶으려면 $\text{}$ 토큰을 이용하여 가장 긴 문장을 기준으로 맞춰 줄 수 있습니다. 패딩의 장점은 데이터가 깔끔하게 정리되어서 컴퓨터에서 처리하기 간편해진다는 점 입니다. 단점은 이렇게 빈 공간들을 패딩으로 채워넣기 때문에, 안해도 될 연산들을 해주어야 .. 2023. 9. 30.
Lec 11-5 : RNN Seq2Seq 딥러닝 공부 29일차 Sequence to Sequence RNN은 sequencial data를 다루기 위해 만들어졌다고 하였었습니다. 기존의 rnn과 seq2seq는 무엇이 다른지 알아보겠습니다. seq2seq 의 예시로 챗봇을 들 수 있습니다. 만약 기존의 rnn이였다면 "나 어제 헤어졌어" 를 듣고 "유감이다" 등의 위로까지는 잘 처리할 수 있어도 그 다음 대화가 진행되다가 "오늘 날씨가 너무 멋져서 나를 슬프게 해" 라고 했을 때 sad 전까지의 문장이 이미 rnn을 통해 학습해버리기 때문에, 날씨가 완벽해서 슬프다 라는 역설적인 맥락을 파악하지 못할 가능성이 높습니다. 이러한 문제점을 해결하기 위해 나타난 것이 Sequence to Sequence 입니다. 그래서 seq2seq 는 encode.. 2023. 9. 29.
Lec 11-4 : RNN Timeseries 딥러닝 공부 28일차 Time Series Data 주식하는 사람들은 어디서 많이 본 그래프일 것 같은데요, 제가 봤을 때는 작년 미국시장 S&P500 지수 그래프와 많이 유사한 것처럼 보입니다. 각설하고, 이러한 주가는 여러가지 변수에 의한 요인이 있겠지만 어찌되었던 시간과 관련이 있는 데이터라고 할 수 있습니다. data-02-stock_daily.csv 이러한 주가에서 5가지 항목들을 예측해보는 모델을 만들어 보겠습니다. 5가지 항목은 시작가, 최고가, 최저가, 거래량, 종가 입니다. Many-to-One 위 그림과 같은 구조를 여러개의 Input으로 한개의 결과값을 유추한다는 느낌으로 Many-to-One 이라고 표현합니다. 만약에 우리가 저 주가예측 RNN을 통해 종가를 알고 싶다고 가정해보겠습.. 2023. 9. 28.
Lec 11-3 : RNN Long sequence 딥러닝 공부 27일차 Sequence dataset from long sentence 앞선 글에서는 문장을 커스터마이징 하는데까지 배워봤습니다. 그렇다면 위 그림과 같이 긴 문장은 어떻게 rnn으로 학습시킬 수 있을까요?? 사실 현직에서 사용하는 정도의 긴 문장은 절대 아니지만 아직 배운 수준에 비해선 긴 문장이니 그냥 그런거로 하겠습니다. x_data, y_data를 배열로 선언해줍니다. 반복문을 돌리는데, 우리는 긴 문장안에서 sequence_length 만큼씩 쪼개서 볼 겁니다. 예를들어 5개 글자중(공백포함) 시퀀스길이가 3이라면 5-3=2이므로 0부터2까지 3개의 반복문이 실행이 되는 것인데 이는 정확히 나눠서 세야할 반복 횟수와 동일합니다. 같은 원리로 for i in range(0, len(.. 2023. 9. 27.
Lec 11-2 : RNN Hihello and Charseq 딥러닝 공부 26일차 'hihello' problem 앞선 글에서는 hello라는 글자를 가지고 rnn을 돌리는 방법을 간략하게 알아봤었습니다. 이제는 그 글자가 hihello 로 바뀌었을 뿐인데요, 여기서 우리는 주목해야할 문제점이 있습니다. h 같은 경우 그 다음 문자가 i 가 올지 e 가 오는지에 관해서 rnn을 구성해야한다는 점입니다. 문자 표현하기 by one-hot vector 원-핫 인코딩 복습하기 문자를 만약에 위 그림의 왼쪽처럼 0,1,2,3,4 로 의미를 부여해준다고 한다면 컴퓨터의 입장에서는 o 가 h 보다 훨씬 중요한 문자구나 라고 인지하게 되는 오류가 발생할 수 있습니다. 그래서 원-핫 인코딩이 필요한 것입니다. 원-핫 벡터로 h, i ,e, l, o 를 표현하면 위.. 2023. 9. 26.
Lec 11-1 : RNN basics 딥러닝 공부 25일차 RNN을 Pytorch에서 구동하는 법은 두줄이면 끝납니다. 그림에서 볼 수 있듯이 rnn = torch.nn.RNN(input_size, hidden_size) outputs, _status = rnn(input_data) Input_data shape 위처럼 두줄이면 rnn을 가져다 쓸 수 있습니다. 이제 여기서 input data의 모양이 어떻게 구성이되는지, output shape도 어떻게 이루어져 있는지 알아보겠습니다. Input_size 우리가 살펴볼 글자는 hello 입니다. 여기서 글자수는 5개지만 실제로 사용되는 글자는 h, e, l, o 이렇게 4가지이므로, (-, -, 4) 괄호 안에들어가는 3가지중 맨 오른쪽에는 사용되는 글자 자체의 개수가 들어가게 됩니다. S.. 2023. 9. 25.
Lec 11-0 : RNN Intro 딥러닝 공부 24일차 RNN이 필요한 이유 우리는 기존에 배운 NN, CNN 으로 여러가지 일들을 해낼 수 있지만, Sequence Data 는 해결하지 못하는 문제점이 있습니다. 그래서 이러한 순차데이터(시계열데이터)를 잘 학습하기위한 도구로 등장한 것이 Recurrent Neural Network, RNN 입니다. Sequential data sequential data는 말그대로 시간의 관계성이 있는 데이터들을 의미하고 예를들어서 우리가 말을하는 문장, 단어들, 혹은 기상청 날씨 데이터 같은 것들을 말합니다. 추가로 RNN을 순환신경망(Recurrent) 또는 재귀신경망(Recursive) 라고 설명하면서 둘다 같은 모델이라고 설명하는 곳이 있는데, 순환신경망과 재귀신경망은 약간 다른 모델입니다. .. 2023. 9. 25.
728x90