전체 글

우선 인공지능, 머신러닝, 딥러닝에 대하여 차이점은 간단하게 아래 사진을 통해서 확인할 수 있다. 이번 글에서는 딥러닝에 대한 전체적인 개요에 대해서 작성해볼 것이다. 이러한 딥러닝의 성능은 아래의 모델 + 데이터 + 학습방법(손실함수,최적화알고리즘,규제)등에 의해 결정된다. 딥러닝을 구성하는 필수적인 요소로는 다양한 것들이 존재한다. 1. 모델을 학습하기 위해 필요한 데이터 -> MNIST, Fashion MNIST .. 2. 주어진 데이터를 원하는 결과로 변환하는 모델 -> MLP, CNN, RNN.. 3. 모델의 결과에 대한 오차를 수치화하는 손실함수 -> MAE, MSE .. 4. 손실함수의 값이 최소가 되도록 모델의 파라미터를 조정하는 최적화 알고리즘 -> Gradient descent, Mom..
오늘은 딥러닝의 기술을 큰 카테고리로 분류해 볼 것이다. AI는 크게 데이터, 학습방식, 태스크 관점으로 구분이 가능하다. 프로그램은 특정 입력을 특정 출력이 나오도록 하는 연산의 집합 -> 입출력이 모두 숫자 Data = 정형,이미지/동영상, 텍스트, 음성 학습방식 = 지도학습, 비지도학습, 강화학습 태스크 = 인식, 생성 학습방식에 의한 구분 `지도학습(Supervised Learning)`: 라벨링 된 데이터를 통한 학습, 회귀와 분류 태스크 `비지도학습(Unsupervised Learining)`: 라벨링 되지 않은 데이터, 피드백을 진행 x, 숨은 패턴을 찾음 `강화학습(Reinforcement Learning)`: 라벨링 되지 않은 데이터, 지연 피드백, 보상 신호 지도학습 - 데이터는 입력데..
딥러닝은 AI/ML/DL 관점에서 크게 5단계로 개발 방법론이 진화하였다. 1. Rule based programming 1단계는 Rule based programming 이다. 어떠한 과정을 거쳐야 output이 나오는지를 인간이 전부 정해줘야하는, 모든 연산을 설계한다. 즉 데이터와 알고리즘을 주고 계산하는 것을 의미한다. 2. Conventional machine learning 2단게는 1단계와 동일한 방식으로 사람이 어떠한 특징을 봐야하는지 등은 정해줘야 하지만 그러한 특징(hand designed feature)을 가지고 output을 내는 것은 machine learning의 연산을 통해 나오게 된다. 이 machine learning은 학습데이터 준비 ->모델 학습 과정을 거친다. 즉 데이..
· ML & DL/NLP
오늘은 BERT 모델을 이용하여 임베딩 및 유사도 측정 실습을 진행하였다. 1. 문서 집합 구축 우선 이후에 유사도를 이용하여 유사성과 모호성을 구별해 보기 위해 적절한 문장 예시들을 생성하였다. sen_1 = "오늘 점심에 배가 너무 고파서 밥을 너무 많이 먹었다." sen_2 = "오늘 점심에 배가 고파서 밥을 많이 먹었다." sen_3 = "오늘 배가 너무 고파서 점심에 밥을 너무 많이 먹었다." sen_4 = "오늘 점심에 배가 고파서 비행기를 많이 먹었다." sen_5 = "어제 저녁에 밥을 너무 많이 먹었더니 배가 부르다." sen_6 = "이따가 오후 7시에 출발하는 비행기가 3시간 연착 되었다고 하네요." training_documents = [sen_1, sen_2, sen_3, sen_..
드디어 마지막 모델링 과정이다. 사실 모델링 부분은 코드는 열심히 짰지만 뭐 보여줄 것이 없긴 하다만, 열심히 작성해 보겠다. 1. 베이스라인 모델 우선 모델 자체는 딥러닝 모델이 아닌 머신러닝 모델을 사용하고자 했다. 이전에 제대로 된 튜닝 없이 LSTM을 돌려보기는 했었는데, 아무래도 이런 정형 데이터 특성상 트리 기반의 모델이 더 성능이 잘 나왔었다. 어떤 모델을 쓸지 고민을 하다가 그냥 젤 좋은 모델을 써야지 하는 생각에 AUTOML을 이용하여 모델을 선정하고자 했다. 1-1. input 데이터 확인 우선 automl 모델 선정 및 input 데이터를 만들기 전에 우선 데이터부터 다시 살펴보자. 이제 제일 중요한 부분이 나온다!!!!!!!!! 바로 target을 shift 해줘야 한다는 것이다. ..
· ML & DL/NLP
1. 자연어의 특성 자연어를 기계가 처리하도록 하기 위하여 먼저 자연어를 기계가 이해할 수 있는 언어로 바꿔야 함. 이는 이전 글에서 작성했던 토큰화 작업의 결과인 단어 사전 Vocabulary를 기계가 이해할 수 있도록 표현해야 한다. -> 이 과정이 매우 어려움. 하나의 단어가 여러 뜻을 가지기 때문. 2. 단어의 유사성과 모호성 2-1. 단어의 형태 단어에는 다음과 같은 여러 가지 형태가 존재한다.-> _동형어_, _다의어_,_동의어_,_상위어_,_하위어_ 동형어: _동형어_란 형태는 같으나 뜻이 다른 단어로 _동음이의어_라고 부른다. ex) 먹는 배, 신체 부위 배 다의어:_다의어_란 하나의 형태가 여러 의미를 지니면서도 그 의미들끼리 서로 연관이 있는 단어. ex) 마음을 먹다, 음식을 먹다, ..
이번 글에서는 수집된 데이터를 이용하여 간단한 EDA와 전처리 그리고 Feature engineering을 진행해 볼 것이다. 1. EDA 우선 EDA의 시작이라고 하는 데이터 정보부터 확인해 봤다.(따로 수정하지 않고 그대로 코드를 사용했다면 나와 동일한 상태일 것이기 때문에 내 기준으로 설명하겠다.) 나는 잠수교, 청담대교, 한강대교, 행주대교 외에 광진교, 팔당대교, 중랑교, 전류리의 수위를 수집하였는데 수집한 이유는 이후에 나온다. 1-1. 데이터 확인 column과 info를 찍어보면 다음과 같다. wl=수위, fw=유량, rf=강수량, swl=팔당댐수위, inf=팔당댐유입량, sfw=팔당댐저수량, ecpc=팔당댐공용량, tototf=팔당댐방출량을 나타낸다. 총 25개의 칼럼을 가지고 있으며, ..
창빵맨
Let's be Developers