반응형

분류 전체보기 297

[NLP] Seq2Seq Model

Seq2Seq(Sequence to Sequence) 시퀀스 형태의 입력값을 시퀀스 형태의 출력으로 만들 수 있게 하는 모델 하나의 텍스트 문장이 입력으로 들어오면 하나의 텍스트 문장을 출력하는 구조 RNN 모델 ([Machine Learning] RNN(Recurrent Neural Network)) 을 기반으로 Encoder와 Decoder 부분으로 나뉨 출처: https://jalammar.github.io//images/seq2seq_5.mp4 HTML 삽입 미리보기할 수 없는 소스 출처: https://jalammar.github.io//images/seq2seq_6.mp4 HTML 삽입 미리보기할 수 없는 소스 활용 분야 기계 번역(Machine Translation) 텍스트 요약(Text S..

[NLP] Word Embedding

Word Embedding 자연어로 되어 있는 문장을 컴퓨터가 받아들일 수 있도록 하는 문장의 전처리 과정 중 하나 유사한 의미의 단어를 군집화하고 벡터 연산을 통해 단어 간의 관계를 파악하여 추론이 가능해짐에 따라 자연어 처리 모델링에 필수 기술로 사용 자연어는 이미지보다 높은 차원의 데이터 vs Color : RGB 벡터로 표현 단어 간 유사도 및 중요도 파악을 위해 단어를 저차원의 실수 벡터로 맵핑하여 의미적으로 비슷한 단어를 가깝게 배치하는 자연어 처리 모델링 기술 Word Embedding 방식은 동형어, 다의어 등에 대해선 embedding 성능이 좋지 못하다는 단점이 있음 주변 단어를 통해 학습이 이루어지기 때문에, '문맥'을 고려할 수 없음 Sparse Representation (희소 표..

NLP/Embedding 2021.03.11

[NLP] KoNLPy

코엔엘파이(KoNLPy) 한국어 자연어 처리를 위한 JAVA 기반으로 만들어진 형태소 분석기 패키지 5개의 형태소 분석기(한나움, 꼬꼬마, 코모란, Okt, 메캅) 한꺼번에 이용 가능 오픈소스 소프트웨어, GPL v3 또는 그 이상 한국어 형태소 분석기 한나움(Hannanum) 꼬꼬마(Kkma) 코모란(Komoran) Okt(Open Korea Text): KoNLPy 0.5.0 전에는 Twitter로 불림 메캅(Mecab) soynlp 카이(khaiii) KoNLPy 설치 JAVA 1.7+ 이상 설치 KoNLPy는 JAVA로 구성되어 있기 때문에 JDK 설치 필요 JPype 1(>=0.5.7) 설치 JAVA와 Python을 연결해주는 역할 cp: python version 다운로드 경로: www.lfd..

NLP/KoNLPy 2021.03.11

[NLP] NLTK(Natural Language Toolkit)

NLTK(Natural Language Toolkit) 교육용으로 개발된 자연어 처리 및 문서 분석용 파이썬 패키지 영어 텍스트에 대한 전처리 및 분석을 하기 위한 도구로 활용 50여 개가 넘는 corpus 리소스를 활용해 영어 텍스트를 분석할 수 있게 제공 Terminologies English 한국어 Description Document 문서 - Corpus 말뭉치 A set of documents Token 토큰 Meaningful elements in a text such as words or pharases or symbols Morphemes 형태소 Smallest meningful unit in a language POS 품사 Part-of-Speech (ex. noun) NLTK 설치 pi..

NLP/NLTK 2021.03.10

[Machine Learning] Scikit-Learn

Scikit-Learn(사이킷런) python 머신러닝 라이브러리 Scikit-Learn 설치 # scikit-learn 설치 pip install scikit-learn # 설치 확인 import sklearn sklearn.__verion__ 의존성 라이브러리 Numpy (Numerical Python) Scipy Scipy(사이파이) 파이썬을 기반으로 하여 과학, 분석, 그리고 엔지니어링을 위한 과학(계산)적 컴퓨팅 영역의 여러 기본적인 작업을 위한 라이브러리 Numpy, Pandas, Matplotlib, Sympy 등과 함께 동작 수치적분 루틴과 미분방정식 해석기, 방정식의 근을 구하는 알고리즘, 표준 연속/이산 확률분포화 다양한 통계관련 도구 제공 기능 설명 scipy.integrate 수치적..

Deep Learning Framework

Deep Learning Framework 이미 검증된 수많은 라이브러리와 사전 학습까지 완료된 다양한 딥러닝 알고리즘을 제공하여 개발자가 빠르고 손쉽게 사용할 수 있음 기능 구현이 아닌 문제 해결을 위한 핵심 알고리즘 개발에만 집중할 수 있도록 도와줌 솝쉽게 GPU를 활용한 연산을 사용할 수 있게 지원 ※ Framework 응용 프로그램을 개발하기 위한 여러 라이브러리나 묘듈 등을 효율적으로 사용할 수 있도록 묶어 놓은 일종의 패키지 Theano 최초의 딥러닝 라이브러리 중 하나로 파이썬(Python) 기반 CPU 및 GPU의 수치계산에 매우 유용한 선형대수 심벌 컴파일러 미분, 선형대수 계산을 포함해 Symbolic expression을 통한 정의된 수식을 사람처럼 미분하거나 재정리해서 전체 계산에 ..

[Python] Collection Data Type - dictionary

Collection Data Type 데이터를 서로 연관시키지(relating) 않고 모아두는 컨테이너(container) 멤버십 연산자: in 크기 함수: len(seq) 반복성: 반복문의 데이터를 순회 dictionary 중괄호 {}을 이용하여 선언 data1 = {'name': 'kim', 'age': 10} data2 = dict[('name','kim'), ('age',10)] data3 = dict(name='kim', age=10) >> {'name': 'kim', 'age': 10} key, value로 구성됨 순서가 있는 자료형이 아니며, key를 통해 value에 접근 key는 고유한 값으로 중복될 수 없음 value는 중복 가능 요소 추가: 새로운 key에 value를 할당 요소 수정..

Python/Data Type 2021.03.09

[Python] Sequence Data Type - string

Sequence Data Type memership 연산: in 키워드 사용 size 함수: len(seq) slicing 속성: seq[:-1] iterability: 반복문에 있는 데이터를 순회할 수 있음 문자열, 튜플, 리스트, 바이트 배열, 바이트 등 5개의 내장 시퀀스 타입이 있음 문자열(string) str, sequence of character ''(작은 따옴표) 또는 ""(큰 따옴표)를 이용하여 문자 자료형임을 표현 Unicode 문자열 Unicode: 전 세계 언어의 문자를 정의하기 위한 국제 표준 코드 공백, 특수문자, 수학 및 기타 분야의 기호들도 포함 문자열 앞에 u를 붙이면 유니코드 문자열을 만들 수 있다. print(u'안녕\u0020파이썬!) >> 안녕 파이썬! Casting..

Python/Data Type 2021.03.09

[Python] Numeric Data Type

숫자 자료형 int 양의 정수, 음의 정수, 숫자 0을 포함하는 자료형 정수 크기는 적어도 32 bit (4 bytes) 임 (정수). bit_length(): 정수를 나타내는 데 필요한 바이트 수 확인 (python 3.1 이상부터 지원) (999).bit_length() >> 10 int(문자열, 밑): 다른 진법의 문자열을 정수로 변환, 밑 2 ~ 32 사이의 optional argument s = '11' d = int(s) print(d) >> 11 b = int(s, 2) print(b) >> 3 float 실수형(floating-point): 소수점이 포함된 숫자를 의미, 정수부.소수부 부동 소수점(floating point) Single Precision 32 bit (4 bytes) 부호..

Python/Data Type 2021.03.09

[Python] Jupyter Notebook

Jupyter Notebook 프로젝트 주피터는 "오픈 소스 소프트웨어, 개방형 표준, 그리고 여러 개의 프로그래밍 언어에 걸쳐 인터랙티브 컴퓨팅을 위한 서비스 개발"을 위해 설립된 비영리 단체로서 다양한 프로그래밍 언어에 걸쳐 인터랙티브 데이터 과학과 사이언티픽 컴퓨팅을 지원 https://jupyter.org/install Project Jupyter The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media. jupyter.org Ju..

[Machine Learning] DenseNet

DenseNet Layer간의 정보가 흘러가는 것을 개선하기 위해 ResNet과는 조금 다른 연결 패턴 제안 Dense Connectivity 모든 이전 layer의 output 정보를 이후의 layer의 input으로 받아오는 방법 사용 모든 입력을 sum하지 않고 이어붙임(concatenation) Dense Block이라고 부르는 하나의 connection 덩어리를 만들어서 전통적인 CNN처럼 Convolution, Pooling Layer와 함께 순차적으로 Dense Block들을 거쳐서 마지막에 Linear Layer 후 결과를 뽑음

[Machine Learning] FPN (Feature Pyramid Network)

Goal Multiscale의 물체를 detection하기 위한 일반적인 feature representations을 학습하는 것 모든 scale에 대해 강력한 semantics를 갖도록 하는 것 Challenges example images에서 가능한 모든 scales의 물체를 검출하는 것 Semantic strong multiscale feature map(Feature representationts) 학습하도록 함 Object detection에서 다양한 application(ex. object proposals, box locatlization, instatnce segmentation)을 위한 일반적인 feature design 함 효율적인 multiscale feature map(feature..

[Machine Learning] GRU (Gated Recurrent Unit)

GRU (Gated Recurrent Unit) 2014년 조경현 교수에 의해 제안 LSTM 셀의 간소화된 버전 LSTM Cell에서 두 상태 벡터 ct와 ht가 하나의 벡터로 합쳐짐 하나의 gate controller인 zt가 forget과 input gate를 모두 제어 zt가 1을 출력하면 forget gate가 열리고 input gate가 닫힘 zt가 0일 경우 반대로 forget gate가 닫히고 input gate가 열림 GRU 셀은 output gate가 없어 전체 상태 벡터 ht가 타임 스텝마다 출력되며, 이전 상태 ht-1의 어느 부분이 출력될지 제어하는 새로운 gate controller인 rt가 있다. Reset Gate 과거 정보를 적당히 리셋하자 Sigmoid 함수를 출력으로 이용..

[Machine Learning] LSTM (Long Short Term Memory)

LSTM (Long Short Term Memory) RNN의 결과를 더욱 개선하기 위한 모델 한 층 안에서 반복을 많이 해야 하는 RNN의 특성상 일반 신경망보다 기울기 소실 문제가 더 많이 발생 반복하기 직전에 다음 층으로 기억된 값을 넘길지 안 넘길지를 관리하는 단계를 하나 더 추가 Gate의 도입으로 입력, 출력을 조절할 수 있게 됨 메모리를 이용하여 Long-range corrlation을 학습할 수 있게 됨 Error를 입력에 따라 다른 강도로 전달할 수 있음 RNN의 Vanishing Gradient 문제 해결 LSTM 핵심 아이디어 이전 단계의 정보를 memory cell에 저장하려 흘려 보냄 현재 시점의 정보를 바탕으로 과거의 내용을 얼마나 잊을지 곱해주고 그 결과에 현재의 정보를 더해서..

728x90
반응형