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) = 오프라인 학습 시스템이 점진적으로 학습할 수 없다. 강용한 데이터를 모두 사용해 훈련시켜야 한다. 즉, 학습한 것을 단지 적용만 한다. 일반적으로 이 방식은 시간과 자원을 많이 소모하므로 보통 오프라인에서 수행 배치 학습이 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 시스템의 새로운 버젼을 처음부터 다시 훈련할 필요가 있다. 주기적으로 데이터셋을 사용해 훈련하는데 몇시간이 소요된다. 장점 : 간단하고 잘 적용 단점 : 전체 데이터 셋을 사용해 훈련하는 데 몇시간이 소요될 수 있다. 또한 ..
퍼셉트론에서는 활성화함수로 계단 함수를 이용한다. 신경망의 활성화 함수는 출력계층의 값이 커지면 최종 출력이 1로 수렴하는 단위 계단함수와 로지스틱 함수를 사용 1. 시그모이드 함수 신경망에서 자주 이용하는 활성화 함수 신경망에서는 활성화 함수로 시그모이드 함수를 이용하여 신호를 변환하고, 그 변환된 신호를 다음 뉴런에 전달함. 2. 계단함수 3. ReLU 함수 최근에는 ReLU 함수 (렐루함수) 사용 (입력이 0을 넘으면 그 입력을 그대로 출력, 0 이하이면 0 출력) 시그모이드함수와 쌍곡 탄젠트 함수는 미분 계산을 기반으로 두는 함수이지만 ReLU는 0또는 입력값을 그대로 내보내기 때문에 계산이 편리하다 심층신경망(Deep Neural Network, DNN) -> 시그모이드 함수에 전파와 역잔파를 ..
1.conda 가상 환경 확인하기 conda env list 2. conda 가상환경 만들기 conda create -n [virtualEnv] python = 3.6 3. jupyter 추가 3.1 가상환경 활성화 source activate [virtualEnv] 3.2 가상환경에서 jupyter notebook 설치 pip install ipykernel 3.3 jupyter notebook에 가상환경 kernel 추가 python -m ipykernel install --user --name [virtualEnv] --display-name "[displayKenrelName]" ex) python -m ipykernel install --user --name py36 --display-name ..
0. 텍스트 유사도(Text Similarity) 텍스트가 얼마나 유사한지를 표현하는 방식 중 하나 딥러닝에서는? 단어, 형태소, 유사도의 종류에 상관없이 딥러닝을 기반으로 텍스트를 벡터화 한 후 벡터화된 각 문장간의 유사도 측정 1. 자카드 유사도(Jaccard Similarity) 두 문장을 각각 단어의 집합으로 만든 뒤 두 집합을 통해 유사도를 측정하는 방식 중 하나 유사도를 측정하는 방법은 두 집합의 교집합인 공통된 단어의 개수를 두집합의 합집합 2. 코사인 유사도 두개의 벡터 값에서 코사인 각도를 구하는 방법 코사인 유사도 값은 -1과 1 사이의 값을 가지고 1에 가까울수록 유사 다른 유사도 접근법에 비해 성능이 좋다. -> 두 벡터간의 각도를 구하는 것이기 때문에 방향성의 개념이 더해진다. 3..