0. Contextual Representation - 문맥에 따른 다른 단어를 구별할 수 없다. Word2vec이나 Glove같은 경우? - Open a bank(은행) account & On the river bank(둑) ==> 같은 vector로 표현 Contextual Representations 경우? - 문맥에 따라서 Contextual Representation이기 때문에 같은 bank라도 다른 의미로 인식 1. ELMo(Embeddings from Language Model) - LSTM으로 랭귀지 모델을 만든다 - backward & forward 를 각각 더하는것이기 때문에 완전한 양방향이라고 할 수 없다. 2. OpenAI GPT - Transformer 이해 필요 3. BERT -..

1. 자연언어 (Natural Language) * 자연언어란? - 인간 고유의 언어 - 정보 전달의 수단 * 인공언어란? - 특정 목적을 위해 인위적으로 만든 언어 - 자연언어에 비해 엄격한 구문을 가짐 자연언어처리? 일상의 언어를 처리하는 것 * 자연어처리 = 컴퓨터과학 + 인공지능 + 언어학 2. 용어정리 * NLP - Natural Language Processing ( 자연어 처리) * NLU - Natural Language Undertanding(자연언어이해) -> NLP에 속한다 3. 자연어처리가 어려운 이유? - 동일한 표현이 다양한 방법으로 해석될 수 있는 애매성(ambiguity)을 내포 - 형태소 수준의 매매상 - 구문 수준의 애매성 ( 두개의 침실 or 두개의 스위트룸) - 구문적..

[Ubuntu]Anaconda 설치 > wget https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh > bash Anaconda3-5.1.0-Linux-x86_64.sh > source ~/.bashrc #bashrc 활성화 > conda --version # 버전 확인 > conda update conda #아나콘다 업데이트 > conda create --name nlp python=3.6 #가상환경 만들기 > conda info --envs > source activate nlp > conda install notebook ipykernel jupyterlab > jupyter notebook > python -m ipykernel i..
1. 코랩(Colab) 시작하기 1.1. 코랩은 나의 구글 드라이브에서 작동하기 때문에 작업할 폴더를 먼저 만든다. 새로만들기 > 폴더 1.2 Colab Notebook 파일 생성 새로만들기 > Colaboratory 1.3 GPU 설정하기 1.4 코랩 실시하기 필수적인 라이브러리 설치하고 권한을 부여하기 위해 다음 코드를 실행한다 from google.colab import drive drive.mount('/gdrive', force_remount=True) 1. 지수의 네버엔딩 컴공부즈

1. 프리트레인과 파인튜닝 - 프리트레인 - 파인튜닝? 프리트레인 이후 추가 학습을 시행해 임베딩을 다운스트림 태스크에 맞게 업데이트 하는 것 2. 단어 임베딩 활용 - 단어 수준 임베딩 - Word2Vec, FloVe, FastText, Swivel 네트워크에서 사용할 수 있음 (1) 단어임베딩 (2) Bi-LSTM (3) 어텐션(attention) - 딥러닝 모델이 특정 벡터에 주목하게 만들어 모델의 성능을 높이는 기법 (4) 피드포워드 뉴럴 네트워크 (5) 소프트맥스 * 파인튜닝? 임베딩까지 모두 업데이트하는 기법 * 피처베이스(Feature-Based)? 임베딩은 그대로 두고 그 위의 레이어만 학습하는 방법 3. 문장 임베딩 활용 - ELMo 활용 - ELMo가지고 파인튜닝 해보기 출처 1. 한국..

1. 머신러닝 - Feature 1. 숫자 데이터에 대한 첫번째 체크 포인트? 값의 크기문제 Q. 단지 양수 또는 음수인지만 알면 되는가? Q. 대략적으로 구간을 나눠야 하는가? 2. 피쳐의 스케일 - 가장 큰 값과 작은 값은 무엇인가? 그 둘의 차이는 몇자리 수 인가? Q. 가장 큰 값과 가장 작은 값은 무엇인가? Q. 그 둘의 차이는 몇자리 수 인가? Q. 피쳐의 정규화 필요성 * 논리함수? 입력 피쳐 스케일에 민감하지 않다. 입력이 무엇이든 이 함수의 출력은 바이너리이기 때문에 * 의사결정트리모델은 입력 피쳐에 대한 계단 함수들로 구성되기 때문에 공간 분할 트리에 기초한 모델들은 입력 스케일에 민감하지 않다. 하지만 입력의 스케일이 계속 커지는 경우, 학습된 트리의 범위를 벗어날 수 있기 때문에 주..

1. 암호화의 종류 1.1 단방향 암호화(One-way encryption) 오직 암호화만이 가능하다 1.2 양방향 암호화(Two-way encryption) 평문을 암호화할 수 있고 암호문을 다시 복호화 가능 양방향 암호화의 경우 당사자 2명을 제외한 나머지 사람들이 몰라야 하기 때문에 비밀키(Private Key)를 정한다. 하지만 이 비밀키를 알 수 있기 때문에 당사자 2명 각각 서로 다른 키를 가지고 암호화와 복호화를 하도록한다면 이러한 문제는 일어나지 않을것이다! ---> 비대칭키 암호 2. 공개키 알고리즘(public key enryption) 비대칭키 암호는 서로 다른 키를 가지고 있음 공개키(Public key) 와 비밀키(Private Key) 공개키 알고리즘은 두가지 방식으로 분류가능한..

1. 이더리움 기반으로 블록체인 네트워크를 구축 이더리움의 대표적인 클라이언트 프로그램은 geth(go-ethereum)과 parity geth를 활용하여 네트워크 구축하는 방법 다루기 geth - google에서 개발한 Golang 기반으로 만들어진 이더리움 프로그램 2. docker가 무엇인가 2013년 3월 docker, Inc 에서 출시한 오픈 소스 컨테이너 프로젝트 AWS, Google Cloud Platform, Microsoft Azure 등의 클라우드 서비스에서 공식지원 인기를 끄는 이유? 복잡한 리눅스 application을 컨테이너로 묶어서 실행할 수 있음 개발, 테스트, 서비스 환경을 하나로 통일하여 효율적으로 관리가 가능 컨테이너(이미지)를 전 세계 사람들과 공유 한마디로 경량화된 ..
0.배치학습 vs 온라인학습 머신러닝 시스템을 분류하는 데 사용하는 다른 기준은 입력 데이터의 스트림(stream)으로부터 점진적으로 학습할 수 있는지의 여부 1. 배치학습? (Batch learning) = 오프라인 학습 시스템이 점진적으로 학습할 수 없다. 강용한 데이터를 모두 사용해 훈련시켜야 한다. 즉, 학습한 것을 단지 적용만 한다. 일반적으로 이 방식은 시간과 자원을 많이 소모하므로 보통 오프라인에서 수행 배치 학습이 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 시스템의 새로운 버젼을 처음부터 다시 훈련할 필요가 있다. 주기적으로 데이터셋을 사용해 훈련하는데 몇시간이 소요된다. 장점 : 간단하고 잘 적용 단점 : 전체 데이터 셋을 사용해 훈련하는 데 몇시간이 소요될 수 있다. 또한 ..