전체 글67 BERT 정리 Introduce BERT(Bidirectional Encoding Representation from Transformer)는 구글에서 발표한 임베딩 모델이다. 질의 응답, 텍스트 분류, 정보 추출 등과 같은 태스크에서 가장 좋은 성능을 도출해 자연어 처리 분야에 크게 기여해왔다. BERT가 성공한 주된 이유는 문맥이 없는 Word2Vec과 같은 다른 인기 있는 임베딩 모델과 달리 문맥을 고려한 임베딩 모델이기 때문이다. A : He got bit by python B : Python is my favorite programming language A 문장에서 ‘파이썬’이라는 단어는 뱀의 한 종류를 의미하고 B 문장에서는 ‘파이썬’이라는 단어는 프로그래밍 언어를 의미한다. Word2Vec과 같은 임베딩.. 딥러닝/NLP 2022. 11. 15. [책] 전문가를 위한 C 서론 C 언어는 시스템 자원을 관리하는 운영체제 개발을 위해 만들어진 언어이다. 따라서 하드웨어를 제어하고 실행 효율을 높여야 하는 곳에 주로 쓰인다. 우리 주위에서 흔히 볼 수 있는 신호등, 자동차의 중앙 컴퓨터(CPU), 주방의 전자레인지, 스마트폰의 운영체제 등 별생각 없이 봤던 다른 장치 모두 C로 작성된 소프트웨어를 사용한다. C는 죽은 언어라는 오해와 일부 기술 전문가들의 무시에도 불구하고, 티오베에서 확인할 수 있는 티오베 지수는 이를 반증한다. C는 자바와 함께 지난 15년간 가장 인기 있는 언어였다. 그리고 최근 몇 년 동안 인기가 더 높아지고 있다. 전문가를 위한 C 이 책은 C 언어라는 만만치 않은 주제에 Extream C 라는 원서의 제목에 맞게 C 언어의 모든 부분을 다룬다. 따라.. 서평 2022. 10. 24. 한국어 임베딩 - 단어 수준 임베딩 (잠재 의미 분석, GloVe, Swivel) 1. 잠재 의미 분석 잠재 의미 분석(LSA, Latent Semantic Analysis)이란 단어-문서 행렬이나 TF-IDF(Term Frequency-Inverse Document Frequency) 행렬, 단어-문맥 행렬 같은 커다란 행렬에 차원 축소 방법의 일종인 특이값 분해를 수행해 데이터의 차원 수를 줄여 계산 효율성을 키우는 한편 행간에 숨어 있는 잠재 의미를 이끌어내기 위한 방법론이다. 단어-문서 행렬이나 단어-문맥 행렬 등에 특이값 분해를 시행한 뒤, 그 결과로 도출되는 행 벡터들을 단어 임베딩으로 사용할 수 있다. 잠재 의미 분석은 GloVe나 Swivel과 더불어 행렬 분해(matrix factorization) 기반의 기법으로 분류된다. 1.1 PPMI 행렬 단어-문서 행렬, TF.. 딥러닝/NLP 2022. 10. 21. 한국어 임베딩 - 단어 수준 임베딩 (Word2Vec, FastText) 1. Word2Vec Word2Vec은 2013년 구글 연구 팀이 발표한 기법으로 가장 널리 쓰이고 있는 단어 임베딩 모델이다. Word2Vec 기법은 두 개의 논문으로 나누어 발표됐다. Mikolov et al. (2013a)에서는 Skip-Gram과 CBOW라는 모델이 제안됐고, Mikolov et al. (2013b)은 이 두 모델을 근간으로 하되 네거티브 샘플링 등 학습 최적화 기법을 제안하였다. 1.1 모델 기본 구조 Mikolov et al. (2013a)이 제안한 CBOW와 Skip-gram 모델의 기본 구조는 다음 그림과 같다. CBOW는 주변에 있는 문맥 단어(context word)들을 가지고 타깃 단어(target word) 하나를 맞추는 과정에서 학습된다. Skip-gram 모델은 .. 딥러닝/NLP 2022. 10. 20. 한국어 임베딩 - 단어 수준 임베딩 (NPLM) 이 장에서는 다양한 단어 수준 임베딩 모델을 설명한다. NPLM, Word2Vec, FastText 등은 예측(prediction) 기반 모델, LSA, GloVe, Swivel 등은 행렬 분해(matrix factorization) 기반의 기법들이다. 가중 임베딩(Weighted Embedding)은 단어 임베딩을 문장 수준으로 확장하는 방법이다. 1. NPLM Neural Probabilistic Language Model(NPLM)은 단어들의 연쇄가 주어졌을 때 다음 단어가 무엇인지 맞추는 과정에서 분산표상된 단어 벡터들을 만드는 방법론이다. 자연어 처리 분야에서 임베딩 개념을 널리 퍼뜨리는 데 일조한 선구자적 모델로서 임베딩 역사에서 차지하는 역할이 작지 않다. 1.1 NPLM 개요 NPLM은 딥.. 딥러닝/NLP 2022. 10. 3. [책] 판다스 인 액션 판다스 라이브러리는 데이터 분석가, AI 엔지니어, 마케터 등 직군을 불문하고 사랑받는 파이썬 라이브러리입니다. 하지만 판다스만을 중점적으로 다루는 책은 많지 않습니다. 파이썬 입문, 머신러닝 입문, 딥러닝 입문 등 여느 입문 책 사이에 조금씩 활용되지만, '판다스'라는 키워드를 yes24에 검색하면 이 책을 포함해 단 4권만이 판다스에 대해서만 다루고 있습니다. 저 또한 처음에는, 굳이 라이브러리 하나에 대해서 시간을 들여서 공부해야 할까? 모르는게 나오면 구글에 검색하면 되지 않을까? 라는 의구심이 들었습니다. 하지만 컴퓨터 사이언스와 마찬가지로 유통기한이 긴 지식들은 깊게 쌓아두면 좋을 것 같다. 라는 생각하에 이 책을 선택하게 되었습니다. 이코노미스트는 2017년 의견서에 '세상에서 가장 가치있는.. 서평 2022. 9. 25. 한국어 임베딩 - 한국어 전처리 이 장에서는 임베딩 학습을 위한 한국어 데이터의 전처리 과정을 다룬다. 형태소 분석 방법에는 국어학 전문가들이 태깅한 데이터로 학습된 모델로 분석하는 지도 학습(supervised learning) 기법과 우리가 가진 말뭉치의 패턴을 학습한 모델을 적용하는 비지도 학습(unsupervised learning) 기법이 있다. 지도 학습 기반 형태소 분석 품질 좋은 임베딩을 만들기 위해서는 문장이나 단어의 경계를 컴퓨터에 알려줘야 한다. 그렇지 않으면 어휘 집합에 속한 단어 수가 기하급수적으로 늘어나서 연산의 비효율이 발생한다. 특히 한국어는 조사와 어미가 발달한 교착어(agglutinative language)이기 때문에 이러한 처리를 좀 더 섬세히 해줘야 한다. 예를 들어 한국어 동사 [가다]는 다음과 .. 딥러닝/NLP 2022. 9. 24. 한국어 임베딩 - 벡터가 어떻게 의미를 가지게 되는가 자연어 계산과 이해 임베딩은 자연어를 컴퓨터가 처리할 수 있는 숫자들의 나열인 벡터로 바꾼 결과이다. 컴퓨터는 임베딩을 계산/처리해 사람이 알아들을 수 있는 형태의 자연어로 출력한다. 그러면 임베딩에 자연어 의미를 어떻게 함축할 수 있을까. 그 비결은 자연어의 통계적 패턴 정보를 통째로 임베딩에 넣는 것이다. 자연어의 의미는 해당 언어 화자들이 실제 사용하는 일상 언어에서 드러나기 때문이다. 임베딩을 만들 때 쓰는 통계 정보는 크게 세 가지가 있다. 첫째는 문장에 어떤 단어가 (많이) 쓰였는지이고, 둘째는 단어가 어떤 순서로 등장하는지이며, 마지막으로는 문장에 어떤 단어가 같이 나타났는지와 관련된 정보다. 구분 백오브워즈 가정 언어 모델 분포 가정 내용 어떤 단어가 (많이) 쓰였는가 단어가 어떤 순서로 .. 딥러닝/NLP 2022. 9. 19. 한국어 임베딩 - 서론 임베딩이란 자연어 처리 분야에서 임베딩이란, 사람이 쓰는 자연어를 기계가 이해할 수 있는 숫자의 나열인 벡터로 바꾼 결과 혹은 그 일련의 과정 전체를 의미한다. 단어나 문장 각각을 벡터로 변환해 벡터 공간으로 '끼워 넣는다(embed)'는 의미에서 임베딩이라는 이름이 붙었다. 임베딩이라는 개념은 자연어 처리 분야에서 꽤 오래전부터 사용한 것으로 보인다. 하지만 본격적으로 통용되기 시작한 것은 딥러닝의 대부 요슈아 벤지오 연구 팀이「A Neural Probabilistic Language Model」(Bengio et al., 2003)을 발표하고 나서부터다. 임베딩의 역할 임베딩은 다음 역할을 수행할 수 있다. 단어 / 문장 간 관련도 계산 의미적 / 문법적 정보 함축 전이 학습 단어 / 문장 간 관련도.. 딥러닝/NLP 2022. 9. 19. [책] SQL로 시작하는 데이터 분석 지금은 예전에 비해 데이터 분석이 매우 대중화됐다. 데이터 분석 기법과 관련된 자료를 찾기도 쉽고, 정부에서 공개한 공공 데이터나 캐글에 공개된 데이터를 분석한 자료도 많다. 하지만 자료에 데이터 마이닝 알고리즘, 머신러닝, 수학, 통계와 관련된 자료도 뒤섞여 있어 데이터 분석에 첫걸음 내딛는 사람이 참고하기에는 너무 어려운 경우가 많다. 이 책은 이제 막 SQL 문법을 공부한 사람이 데이터 분석을 실습하기에 적당한 기본 데이터 분석 기법을 다룬다. 데이터 삽입, 수정, 삭제보다는 SELECT 문을 활용해 데이터를 원하는 대로 분석하는 데 집중한다. 시계열 분석, 코호트 분석, 이상 탐지, 실험 분석 및 새로운 데이터 생성 방법까지, 실제 데이터 분석에 널리 쓰이는 기법을 입문자 눈높이에서 설명한다. 이.. 서평 2022. 8. 28. [Error] MongoDB - mongod.service: Failed with result 'exit-code'. (code=exited, status=14) 환경은 Ubuntu 20.04 환경입니다. 다음과 같은 에러가 발생할 시, sudo chown -R mongodb:mongodb /var/lib/mongodb sudo chown mongodb:mongodb /tmp/mongodb-27017.sock sudo service mongod restart Error 2022. 7. 29. [책] 파이썬을 활용한 베이지안 통계 2판 이 책은 기존의 파이썬을 활용한 베이지안 통계를 개정한 개정판이다. 개정판은 무려 8년 만에 나왔으며, 5개의 챕터가 추가된 20개의 챕터로 이루어져 있다. 따라서 책 페이지도 거의 2배가 되었다. 베이즈 정리에 관한 책은 머신러닝 엔지니어가 되기 위해 조금 더 전문적이고 이론적인 공부가 필요할 때 꼭 필요한 책이다. 따라서 이 책을 읽기전에 미적분학이나 선형대수학을 알 필요는 없지만 넘파이나 판다스 등 파이썬에 익숙해야 한다고 권장한다. 베이즈 정리는 조건부 확률에 사전확률을 활용하여 통계적 추론을 하는 방법이다. 따라서 1장은 조건부 확률로 시작하여 베이즈 정리를 도출한다. 베이지안 통계의 기본은 베이즈 이론이고, 베이즈 이론의 기본은 조건부 확률이다. 베이즈 이론은 오늘날 머신러닝에 사용되는 예측 .. 서평 2022. 7. 24. 이전 1 2 3 4 5 6 다음 반응형