일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프
- AWS builders
- BERT
- 서비스기획부트캠프
- 유데미코리아
- 스타터스부트캠프
- 사이드프로젝트
- 취업부트캠프
- 그로스해킹
- 데이터도서
- 유데미큐레이션
- sql정리
- AARRR
- NLP
- 부트캠프후기
- NLU
- 임베딩
- 딥러닝
- MatchSum
- pytorch
- 특성중요도
- 알고리즘
- 취업부트캠프 5기
- 유데미부트캠프
- 추천시스템
- 스타터스
- 토스
- SLASH22
- 서비스기획
- SQL
- Today
- Total
목록AI 일별 공부 정리 (61)
다시 이음

안녕하세요. 오늘은 연속된 데이터를 처리하기 위한 새로운 신경망 구조인 RNN에 대해서 알아보려고 합니다. 언어 모델 (Language Model) 언어 모델이란? 언어 모델은 단어 시퀀스(문장)에 각 단어의 확률을 할당(assign),계산하는 모델입니다. 가장 보편적으로 사용하는 방법은 앞 단어들이 등장했을 때, 다음 단어를 예측하도록 하는 것이며 이것은 특정 단어가 등장할 확률을 조건부 확률로 구하게 됩니다. 언어 모델을 만드는 방법은 크게는 통계를 이용한 방법과 인공 신경망을 이용한 방법으로 구분할 수 있습니다. 통계적 언어 모델 (Statistical Language Model, SLM) 단어의 등장 횟수를 바탕으로 조건부 확률을 계산합니다. 전체 말뭉치 안에서 첫번째 단어가 나오는 확률을 구하고..

안녕하세요. 오늘은 어제에 이어서 자연어를 벡터화 하는 방법에 대해서 알아보겠습니다. 어제 등장 횟수에 따라 벡터화 하는 방법(BoW:TF,TF-IDF)을 알아보았습니다. 오늘은 벡터화 하는 다른 방법인 단어 자체를 벡터화 하는 분산 표현에 대해서 알아보겠습니다. Distributed Representation 1) 원핫인코딩 단어를 벡터화하고자 할 때 선택할 수 있는 가장 쉬운 방법입니다. 예를 들면 5가지의 단어가 모여 하나의 문장을 이룰 때 이것을 원핫인코딩을 적용하면 5차원을 가진 벡터가 생성됩니다. 순서에 따라 [1,0,0,0,0], [0,1,0,0,0]... [0,0,0,0,1]과같이 생성됩니다. 원핫인코딩의 단점은 단어간의 유사도를 구할 수 없다는 것입니다. 코사인 유사도(cosine sim..
안녕하세요. 오늘은 자연어 처리에 대해서 알아보겠습니다. 자연어(Natural Language) 자연어란? 자연적으로 발생된 언어를 자연어라고 하는데 이 자연어를 컴퓨터를 통해 처리하는 것을 자연어 처리라고 합니다. 자연어 처리를 통해서 할 수 있는 것 자연어 이해(NLU, Natural Language Understanding) -감정 분석(긍정적?부정적?), 자연어 추론(NLI, Natural Langauge Inference), 기계독해(MRC, Machine Reading Comprehension),질의 응답(QA),품사 태깅(POS tagging), 개체명 인식(Named Entity Recognition) 자연어 생성(NLG, Natural Language Generation) 기타(NLU&N..
안녕하세요. 오늘은 딥러닝 모델을 학습하면서 도움이 되는 callback에 대해서 알아보겠습니다. Callback Tensorflow가 기본적인 Log를 출력해주기는 하지만 훈련이 끝날 때까지 출력되는 Log만 보기에는 효율이 좋지 않습니다. 그래서 Tensorflow는 모델을 훈련시키는 동안 어떤 이벤트들이 발생하면 개발자가 원하는 동작(Callback 함수)을 수행할 수 있는 방법을 제공하고 있습니다. 그것이 바로 Callback 입니다. -tensorflow에서 제공하는 코드를 살펴보겠습니다. import tensorflow as tf from tensorflow import keras #모든 콜백은 keras.callbacks.Callback을 하위 클래스화 해야 함으로 클래스 지정을 해줍니다. ..
안녕하세요. 오늘은 하이퍼 파라미터 튜닝을 통해 딥러닝 모델의 성능을 올리는 것을 알아보겠습니다. 머신러닝을 배울 때 알아본 것과 같이 딥러닝 또한 하이퍼 파라미터 조정을 통해서 성능을 올리고, 그 성능을 평가하기 위해서 교차검증(Cross_Validation)을 사용합니다. 먼저 딥러닝 모델(신경망)에 교차검증을 적용하는 방법을 알아볼게요. 교차 검증 적용 Cross-Validation의 방법에는 K-Fold CV, Stratified K-Fold CV가 있습니다. K-Fold CV - k라는 매개변수는 데이터 세트를 분할할 폴드 수를 결정합니다. - 훈련세트는 k-1 개, 검증세트는 1개로 이루어집니다. - 일반적으로 k는 5~10사이의 값을 사용합니다. k값이 너무 낮으면 매우 편향된 모델이 됩니다..

안녕하세요. 오늘은 딥러닝의 overfitting(과적합)을 방지할 수 있는 방법에 대해서 알아보겠습니다. Regularization 머신러닝에서 과적합이 생긴 것과 같이 딥러닝에서도 과적합이 발생합니다. 더욱이 신경망 알고리즘에서는 복잡한 구조덕에 훈련데이터에 쉽게 과적합 되는 경향이 있습니다. 이러한 과적합을 방지하는 방법 4가지를 알아볼게요. 1. 조기 종료 (Early Stopping) 조기 종료는 머신러닝의 과적합을 방지하는 방법으로도 소개한 적이 있습니다. 머신러닝과 비슷한 맥락으로 훈련데이터에 대한 손실이 계속 줄어들지만 검증데이터의 손실은 증가한다면 학습을 종료하게 하는 것입니다. # 변수 설정을 따로 하는 방법을 적용하기 위한 코드입니다. batch_size = 10 epochs_max ..

안녕하세요. 어제 우리는 신경망의 진행 방향에 따라 순전파와 역전파로 나뉜다고 알아보았습니다. 어제는 순전파에 대해서 알아보았고 오늘은 그 역전파에 대해서 알아보도록 하겠습니다. 🍀 들어가기 전에 꼭 알아둬야 할 게 있습니다. - 편미분 이해하기 - 이해를 못하겠더라도 계속해서 보고 손으로 써보고 해보기 역전파(Backpropagation) 1. 역전파 란? 역전파(Backpropagation)는 먼저 계산 결과와 정답의 오차를 구해 이 오차에 관여하는 값들의 가중치를 수정하여 오차가 작아지는 방향으로 일정 횟수를 반복해 수정하는 방법입니다. 오차역전파 또는 오류역전파라고도 불립니다. 역전파가 가능하려면 먼저 순전파가 선행되어야 합니다. 위에 설명에서 계산 결과와 정답의 오차를 우리는 손실(Loss or..

안녕하세요. 딥러닝 파트로 찾아왔습니다. 오늘은 딥러닝의 기본이 되는 퍼셉트론과 인공신경망에 대해서 알아보도록 하겠습니다. 퍼셉트론(Perceptron) 1. 퍼셉트론이란? 우리 신체에 존재하는 뉴런이라는 신경조직을 들어보신 적이 있으신가요? 이러한 뉴런을 본따 만든 퍼셉트론은 신경망의 기본 단위 입니다. 이 퍼셉트론이라는 알고리즘은 무려 1950년대에 고안된 것입니다. 흥미롭죠? 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 구조를 가지고 있습니다. ❄️ 논리게이트라는 것을 찾아볼까요? (AND,OR,NAND,XOR GATE) - 이를 통해 퍼셉트론에 대해서 좀더 알아볼 수 있습니다. (키워드 : 퍼셉트론의 한계) 인공신경망(Artificial Neural Networks) 2. 인공 ..
안녕하세요 오늘은 만든 웹 어플리케이션 혹은 API 를 배포하고 공유하기에 대해서 알아보겠습니다. Web Server Gateway Interface (WSGI) WSGI 란 다리와 같은 역할입니다. 중간 역할을 맡고 있는 middleware 라고도 부를 수 있습니다. 하는 역할은 서버나 게이트웨이를 어플리케이션이나 프레임워크와 이어주게 됩니다. 예를 들어 Flask 와 같은 마이크로 프레임워크를 서버로 연결해 외부에서 접속할 수 있도록 도와주는 역할입니다. gunicorn 'green unicorn' 를 줄인 'gunicorn' 의 정의는 파이썬의 WSGI HTTP Server 입니다. 구체적으로 보자면 gunicorn 은 HTTP 관련된 웹 요청이 들어오게 되면 flask 와 같은 어플리케이션을 이용..

안녕하세요. 오늘은 Docker에 대해서 알아보려고 합니다. 간단하게 정의와 제가 이해한 Docker에 대해서 알아보고 어떻게 실행할 수 있는지를 확인해볼게요. Docker가 하는 일 - docker는 쉽게 말하면 리눅스 운영체제에서 사용하는 프로그램을 윈도우나 mac과 같은 환경에서 사용할 수 있도록 만들어주는 툴(tool) 입니다. - 좀 더 살펴보면 어플리케이션 실행 환경을 코드로 작성할 수 있고 OS를 격리화하여 관리하는 기술입니다. - 그러면 왜 docker가 필요할까요? 개발하려고 하는 어플리케이션에 따라 구동하는 운영체제가 서로 다르다면 환경에 따라 조금씩 변경해줘야합니다. 수작업으로 하나하나 운영체제에 따라 변경을 해준다면 너무나 번거롭겠죠. 방화벽 설정, 사용자 권한 설정, Port 설정..