본문 바로가기

분류 전체보기

[펌] 도란쓰-뽀마 (Attention is all you need) https://pozalabs.github.io/transformer/ Attention is all you need paper 뽀개기 Transformer paper review pozalabs.github.io
정규표현식 모음 import re 1. 이메일이 본문에 포함되어 있는지 검사 p = re.compile('.*[a-zA-Z0-9+-_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+.*') 2. HTML tag p = re.compile('.*\.*') p = re.compile('\') 3. Hash tag p = re.compile('\\#([0-9a-zA-Z가-힣]*)') 4. 개체명 추출 p = re.compile('\') 5. 특수문자 추출 result = re.sub('[^0-9a-zA-Zㄱ-힗]', '', myStr) 6. 괄호 내 문자 포함 \([^)]*(일보|기자|미디어)\) 7. 문서 분리 from pathlib import Path file_path = Path(file_path) raw_..
한국어로 XLNet 학습해보기! 바로 얼마 전! BERT의 성능을 한참 뛰어넘는 XLNet 모델에 대한 논문과 코드가 공개되었다. 자세한 논문과 알고리즘은 차근차근 공부하기로 하고, 오늘은 무작정 XLNet 학습을 시도해보도록 하자 :-) 먼저 XLNet의 git에 들어가서 git을 clone해온다. https://github.com/zihangdai/xlnet zihangdai/xlnet XLNet: Generalized Autoregressive Pretraining for Language Understanding - zihangdai/xlnet github.com XLNet을 학습하려면 3가지의 과정을 거쳐야 한다. 1. Sentencepiece model 생성 2. 학습 데이터의 데이터화 3. 학습! 여기서 1번을 수행하기 전에..
Google Cloud Platform (GCP) 과 TPU 로 한국어 BERT 학습해보기 오늘은 GCP를 활용해서 BERT를 학습시켜보자! BERT는 tensorflow 버젼을 이용해 학습할 것이다. (https://github.com/google-research/bert) BERT를 학습시키기 위한 준비물은 다음과 같다. 1. Large corpus - 대량의 코퍼스 데이터가 필요하다. 이번 포스팅에서는 결과를 빨리 확인해보기 위해 10,000 라인으로 이루어진 소규모 학습 코퍼스를 사용해보겠다. 2. Vocab - WordPiece 알고리즘을 이용해 vocab을 얻어내야 한다. - Vocab 생성은 다음 git 코드를 이용해 만들어낼 수 있다. (https://github.com/lovit/WordPieceModel/blob/master/wordpiecemodel/bpe.py) - 영어 ..
[작성 중] Neuron의 backpropagation과 supervised learning 이번 포스팅에서는 backpropagation과 supervised learning에 대한 것을 주제로 정해보았다. 딥러닝 분야에서의 backpropagation은 supervised learning이나 feedback learning의 가장 기초가 되는 학습 원리일 것이다. 하지만 spiking neural network (SNN) 에서는 backpropagation의 설계 방식과 그 목적을 결정하기 무척 어려운 문제다. SNN은 feedfoward network를 기본으로 많이 설계되어 왔고, spike timing dependency plasticity (STDP) 와 같이 unsupervised Hebbian learning rule 이 학습 규칙으로 정의되어 설계되는 경우가 많기 때문이다. 내가..
Dendritic Ih Selectively Blocks Temporal Summation of Unsynchronized Distal Inputs in CA1 Pyramidal Neurons Dendritic Ih Selectively Blocks Temporal Summation of Unsynchronized Distal Inputs in CA1 Pyramidal Neurons 간단히 먼저 설명하자면, 이 논문은 hippocampus에 있는 CA1 pyramidal neuron에 관한 논문이다. 특히 CA1 neuron의 distal에서 unsynchronized한 입력이 들어올 경우, dendrite의 Ih(HCN channel)가 temporal summation을 어떻게 선택적으로 block해줄 수 있는가에 관한 논문이다. 먼저 hippocampus가 뭘까. Hippocampus는 한글로 '해마'를 뜻한다. 이 해마는 기억을 담당하는데 주된 역할을 하는 것으로 알려져 있다. hipp..
투명한 JPanel 만들기 JPanel을 다루다보면, 투명한 JPanel에, JFame 뒷면이 터치 되는 through touchable ..? JPanel..? 을 만들고 싶은 욕구가 생긴다.오늘은 그 예제가 되는 프로젝트를 만들어 보았다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091package com.shkim.temp.panel; import java.awt.Color;import java.awt.Font;import java.awt.Image;import ja..
Processing에서 MIDI 연주 예제 Processing에서 MIDI 소리를 출력하기 위해 먼저 midibus 라이브러리를 설치한다. 1234567891011121314151617181920212223242526import themidibus.*; MidiBus bus;int velocity;int note; void setup(){ size(256, 256); background(0); MidiBus.list(); bus= new MidiBus(this, 0, 2);} void draw(){ } void mousePressed(){ note= mouseX; velocity= mouseY; bus.sendNoteOn(0, note, velocity);} void mouseReleased(){ bus.sendNoteOff(0, note, ve..