인공지능
-
AI와 자연어 처리 분야 같은 경우는 최신 기술이나 최신 연구 내용이 정말 중요한데요. 계속 새로운 SOTA(State-of-the-art) 알고리즘이 나오고 있고, 내가 열심히 사용한 알고리즘보다 성능이 뛰어난 알고리즘이 나온다면 지금 짜고 있는 코드가 무용지물 될 수도 있기 때문이에요. 1. 인공지능 최신 논문 찾기 1) top conference 확인하기 찾고 싶은 주제와 top conference를 검색해 봅니다. "GAN top conference"를 검색해보니 유명 학회의 논문들이 나옵니다. 좀 더 자세한 주제를 검색할 수도 있고 끝에 년도를 붙어 해당 년도에 발표된 논문을 찾아볼 수도 있어요. AI 관련 Top Conference(최우수 학회) 로는 - NIPS (GAN이 처음 발표되었던 학..
[AI 논문] 인공지능 최신 논문 찾아보기 / SOTA 알고리즘 찾아보기AI와 자연어 처리 분야 같은 경우는 최신 기술이나 최신 연구 내용이 정말 중요한데요. 계속 새로운 SOTA(State-of-the-art) 알고리즘이 나오고 있고, 내가 열심히 사용한 알고리즘보다 성능이 뛰어난 알고리즘이 나온다면 지금 짜고 있는 코드가 무용지물 될 수도 있기 때문이에요. 1. 인공지능 최신 논문 찾기 1) top conference 확인하기 찾고 싶은 주제와 top conference를 검색해 봅니다. "GAN top conference"를 검색해보니 유명 학회의 논문들이 나옵니다. 좀 더 자세한 주제를 검색할 수도 있고 끝에 년도를 붙어 해당 년도에 발표된 논문을 찾아볼 수도 있어요. AI 관련 Top Conference(최우수 학회) 로는 - NIPS (GAN이 처음 발표되었던 학..
2020.12.28 -
이전글한국어 데이터 전처리 이전 포스팅에서 텍스트 데이터의 전처리에 관한 내용을 살펴보았는데요. 그 다음 스텝은 자연어 처리를 위한 필수 코스 바로 '임베딩'입니다. 오늘은 임베딩에 대해서 정리해 볼거에요. 임베딩(embedding) 이란?자연어를 컴퓨터가 이해할 수 있으려면 자연어를 수치화 해야합니다. 자연어(영어, 한국어, 중국어...)를 수치화 한 것으로 벡터로 표현하는 것을 말하고 '임베딩'은 그 과정까지 모두 포함하는 단어이다. 'embed'는 한국어로 '끼워 넣는다'라는 의미이고, 자연어를 벡터 공간에 끼워 넣는다는 취지로 embedding이라는 용어가 생겨났다고 합니다. 사진 출처 자연어를 왜 벡터로 바꾸어야 할까요? 컴퓨터는 '언어'를 이해하지 못합니다. 우리가 프로그래밍 언어로 코드를 짜..
[NLP] 자연어처리 - 한국어 임베딩이전글한국어 데이터 전처리 이전 포스팅에서 텍스트 데이터의 전처리에 관한 내용을 살펴보았는데요. 그 다음 스텝은 자연어 처리를 위한 필수 코스 바로 '임베딩'입니다. 오늘은 임베딩에 대해서 정리해 볼거에요. 임베딩(embedding) 이란?자연어를 컴퓨터가 이해할 수 있으려면 자연어를 수치화 해야합니다. 자연어(영어, 한국어, 중국어...)를 수치화 한 것으로 벡터로 표현하는 것을 말하고 '임베딩'은 그 과정까지 모두 포함하는 단어이다. 'embed'는 한국어로 '끼워 넣는다'라는 의미이고, 자연어를 벡터 공간에 끼워 넣는다는 취지로 embedding이라는 용어가 생겨났다고 합니다. 사진 출처 자연어를 왜 벡터로 바꾸어야 할까요? 컴퓨터는 '언어'를 이해하지 못합니다. 우리가 프로그래밍 언어로 코드를 짜..
2020.10.30 -
케라스나 파이토치에서 만든 AI모델을 CoreML(ios), Tensorflow mobile or lite(android)를 통해 적용할 수 있다. Tensorflow Mobile 구글이 제공하는 머신러닝 프레임워크, .pb파일 이용 Feedforward, convolution, recurrent neural network 지원(지금은 full RNN, LSTM도 지원) C++ 기반의 API, Java Wrapper 제공 Tensorflow Lite 구글이 제공하는 머신러닝 프레임워크, .tflite파일 이용 제공하는 모델이 좀 더 한정적이라고 합니다. C++ 기반의 API, Java Wrapper 제공 Tf Mobile보다 가볍게 최적화 되어있음 어쨌든 keras 모델을 ios나 안드로이드에 삽입하여 ..
[Android + Keras] 케라스 모델을 안드로이드에서 사용하려면(Tensorflow Mobile,Lite)케라스나 파이토치에서 만든 AI모델을 CoreML(ios), Tensorflow mobile or lite(android)를 통해 적용할 수 있다. Tensorflow Mobile 구글이 제공하는 머신러닝 프레임워크, .pb파일 이용 Feedforward, convolution, recurrent neural network 지원(지금은 full RNN, LSTM도 지원) C++ 기반의 API, Java Wrapper 제공 Tensorflow Lite 구글이 제공하는 머신러닝 프레임워크, .tflite파일 이용 제공하는 모델이 좀 더 한정적이라고 합니다. C++ 기반의 API, Java Wrapper 제공 Tf Mobile보다 가볍게 최적화 되어있음 어쨌든 keras 모델을 ios나 안드로이드에 삽입하여 ..
2020.04.22 -
● GAN이란? G - Generative A - Adversarial N - Network GAN은 '생성적 적대 신경망'의 약자로 풀어서 쓰면, 생성자와 식별자가 서로 경쟁(Adversarial)하며 데이터를 생성(Generative)하는 모델(Network)을 뜻합니다. 만약, GAN으로 인물 사진을 생성해 낸다면 인물 사진을 만들어내는 것을 Generator(생성자)라고 하며 만들어진 인물 사진을 평가하는 것을 Discriminator(구분자)라고 합니다. 생성자와 구분자가 서로 대립하며(Adversarial:대립하는) 서로의 성능을 점차 개선해 나가는 쪽으로 학습이 진행되는 것이 주요 개념입니다. 머신러닝은 크게 3가지 개념 지도학습/강화학습/비지도학습 으로 분류되는데, GAN은 '비지도 학습'..
[GAN] 생성적 적대 신경망(GAN) 쉽게 알아보기● GAN이란? G - Generative A - Adversarial N - Network GAN은 '생성적 적대 신경망'의 약자로 풀어서 쓰면, 생성자와 식별자가 서로 경쟁(Adversarial)하며 데이터를 생성(Generative)하는 모델(Network)을 뜻합니다. 만약, GAN으로 인물 사진을 생성해 낸다면 인물 사진을 만들어내는 것을 Generator(생성자)라고 하며 만들어진 인물 사진을 평가하는 것을 Discriminator(구분자)라고 합니다. 생성자와 구분자가 서로 대립하며(Adversarial:대립하는) 서로의 성능을 점차 개선해 나가는 쪽으로 학습이 진행되는 것이 주요 개념입니다. 머신러닝은 크게 3가지 개념 지도학습/강화학습/비지도학습 으로 분류되는데, GAN은 '비지도 학습'..
2020.04.20 -
머신러닝의 학습 방법은 크게 3가지로 분류됩니다. 지도학습 비지도학습 강화학습 ● 지도학습(Supervised Learning) 지도 학습은 말 그대로 정답이 있는 데이터를 활용해 데이터를 학습시키는 것입니다. 입력 값(X data)이 주어지면 입력값에 대한 Label(Y data)를 주어 학습시키며 대표적으로 분류, 회귀 문제가 있습니다. 예를 들어, 입력 데이터 셋을 3*5, 32*44 등을 주고 라벨 데이터 셋을 입력 데이터셋의 정답인 15, 1408등을 주면 해당 모델은 주어지지 않은 데이터 셋 9*3의 정답을 해결할 수 있게 됩니다. - 지도학습 종류 1) 분류(Classification) 분류는 주어진 데이터를 정해진 카테고리(라벨)에 따라 분류하는 문제를 말합니다. darknet의 YOLO,..
[인공지능] 지도학습, 비지도학습, 강화학습머신러닝의 학습 방법은 크게 3가지로 분류됩니다. 지도학습 비지도학습 강화학습 ● 지도학습(Supervised Learning) 지도 학습은 말 그대로 정답이 있는 데이터를 활용해 데이터를 학습시키는 것입니다. 입력 값(X data)이 주어지면 입력값에 대한 Label(Y data)를 주어 학습시키며 대표적으로 분류, 회귀 문제가 있습니다. 예를 들어, 입력 데이터 셋을 3*5, 32*44 등을 주고 라벨 데이터 셋을 입력 데이터셋의 정답인 15, 1408등을 주면 해당 모델은 주어지지 않은 데이터 셋 9*3의 정답을 해결할 수 있게 됩니다. - 지도학습 종류 1) 분류(Classification) 분류는 주어진 데이터를 정해진 카테고리(라벨)에 따라 분류하는 문제를 말합니다. darknet의 YOLO,..
2020.04.16 -
● Embedding Methods NLP task를 수행하기 전, 단어를 벡터로 만드는 임베딩 작업을 케라스를 이용해서 하는 방법은 크게 두 가지가 있습니다. 케라스의 내장 함수인 Embedding()을 사용하기 Pre-trained word embedding 가져와서 Embedding Layer에 주입하기 1. Keras Embedding Layer 예제 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 32 33 34 35 36 37 38 39 40 from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.prepr..
[Keras] Embedding Layer에 word2vec 주입하기● Embedding Methods NLP task를 수행하기 전, 단어를 벡터로 만드는 임베딩 작업을 케라스를 이용해서 하는 방법은 크게 두 가지가 있습니다. 케라스의 내장 함수인 Embedding()을 사용하기 Pre-trained word embedding 가져와서 Embedding Layer에 주입하기 1. Keras Embedding Layer 예제 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 32 33 34 35 36 37 38 39 40 from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.prepr..
2020.02.21 -
● 언어모델 BERT BERT : Pre-training of Deep Bidirectional Trnasformers for Language Understanding 구글에서 개발한 NLP(자연어처리) 사전 훈련 기술이며, 특정 분야에 국한된 기술이 아니라 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 Language Model입니다. 11개 이상의 자연어처리 과제에서 BERT가 최첨단 성능을 발휘한다고 하지만 그 이유는 잘 알려져 있지 않다고 합니다. 하지만 BERT는 지금까지 자연어처리에 활용하였던 앙상블 모델보다 더 좋은 성능을 내고 있어서 많은 관심을 받고 있는 언어모델 입니다. ○ 그래서 BERT가 과연 무엇인가. 처음에 BERT라는 모델을 접하였을 때, 단지 LSTM, CNN, 앙상블 모..
[BERT] BERT에 대해 쉽게 알아보기1 - BERT는 무엇인가, 동작 구조● 언어모델 BERT BERT : Pre-training of Deep Bidirectional Trnasformers for Language Understanding 구글에서 개발한 NLP(자연어처리) 사전 훈련 기술이며, 특정 분야에 국한된 기술이 아니라 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 Language Model입니다. 11개 이상의 자연어처리 과제에서 BERT가 최첨단 성능을 발휘한다고 하지만 그 이유는 잘 알려져 있지 않다고 합니다. 하지만 BERT는 지금까지 자연어처리에 활용하였던 앙상블 모델보다 더 좋은 성능을 내고 있어서 많은 관심을 받고 있는 언어모델 입니다. ○ 그래서 BERT가 과연 무엇인가. 처음에 BERT라는 모델을 접하였을 때, 단지 LSTM, CNN, 앙상블 모..
2020.02.12 -
● Gradient Boost Gradient Boosting Algorithm (GBM)은 회귀분석 또는 분류 분석을 수행할 수 있는 예측모형이며 예측모형의 앙상블 방법론 중 부스팅 계열에 속하는 알고리즘입니다. Gradient Boosting Algorithm은 Tabular format 데이터 (엑셀형태와 같이 X-Y Grid로 되어있는 데이터)에 대한 예측에서 엄청난 성능을 보여주고, 머신러닝 알고리즘 중에서도 가장 예측 성능이 높다고 알려진 알고리즘입니다. 그렇기 때문에 Gradient Boosting Algorithm을 구현한 패키지들이 많습니다. LightGBM, CatBoost, XGBoost 같은 파이썬 패키지들이 모두 Gradient Boosting Algorithm을 구현한 패키지들입..
[캐글] 중고차 가격 예측 모델2_Gradient Boost, Random Forest● Gradient Boost Gradient Boosting Algorithm (GBM)은 회귀분석 또는 분류 분석을 수행할 수 있는 예측모형이며 예측모형의 앙상블 방법론 중 부스팅 계열에 속하는 알고리즘입니다. Gradient Boosting Algorithm은 Tabular format 데이터 (엑셀형태와 같이 X-Y Grid로 되어있는 데이터)에 대한 예측에서 엄청난 성능을 보여주고, 머신러닝 알고리즘 중에서도 가장 예측 성능이 높다고 알려진 알고리즘입니다. 그렇기 때문에 Gradient Boosting Algorithm을 구현한 패키지들이 많습니다. LightGBM, CatBoost, XGBoost 같은 파이썬 패키지들이 모두 Gradient Boosting Algorithm을 구현한 패키지들입..
2020.01.16