Label-Free Distant Supervision for Relation Extraction Via Knowledge Graph Embedding
·
코드와 오류 기록
Mintz, Mike, et al (2009)가 텍스트들을 감독하기 위해 제안한 Distant Supervision은 관계 추출을 위한 데이터 레이블이 비교적 큰 데이터를 생성하는데 효과적인 방법이다. 이는 미리 구축된 Frebase나 도메인에 특화된 데이터 베이스의 사실 정보에 기반해 트리플의 주어와 목적어가 포함된 문장을 수집해 학습 셋을 생성해 내는 방법이다. 여기서 Distant Supervision의 가정은 주어와 목적어가 포함되면 관계의 의미를 내포할 것이다라는 가정을 가지고 있다. 만약 프리베이스를 이용해 버락 오바마와 미첼 오바마가 같이 등장했다면 해당 문장은 '결혼 했다는 사실'이 포함되어 있다는 가정으로 해당 문장을 학습데이터로 추출해 내는 것 입니다. 이 방법은 대량의 학습 셋을 추출..
Attention and Augmented Recurrent Neural Networks
·
코드와 오류 기록
순환 신경망은 신경망이 텍스트, 오디오 및 비디오와 같은 일련의 데이터로 작업할 수 있게 하는 심층 학습의 필수 요소 중 하나이다. 이는 높은 수준으로 시퀀스를 이해함으로서 시퀀스에 주석을 남긴다거나 새로운 시퀀스를 생성하는 데에 사용할 수 있다. 전통적인 RNN 디자인은 비교적 긴(Gap 차이가 큰) 시퀀스에 적용하는 데에 어려움을 겪지만 LSTM은 긴 시퀀스에서도 잘 작동될 수 있게끔 변형되었으며 이는 번역, 음성 인식 및 이미지 캡션과 같은 많은 작업들에서 놀라운 결과를 이끌어 내었다. 결과적으로 RNN이 지난 몇 년간 널리 보급되게 하는 효과를 이끌었다. 이런 일이 발생하면서 새로운 속성으로 RNN을 보강하려는 시도가 증가하고 있다. Neural TuringMachineshave external ..
신경망을 이용한 이미지 분류 (MNIST와 CIFAR 데모 포함)
·
코드와 오류 기록
신경망을 활용해 손글씨를 분류하는 아주 좋은 예제이자 많은 입문자들이 활용하고 있는 MNIST와 CIFAR의 예제가 아주 잘 설명되고 표현된 글(https://ml4a.github.io/ml4a/neural_networks/)이 있어 옮겨온다. MNIST는 28x28 픽셀 크기의 레이블된 손글씨 숫자 이미지 60,000개를 담고 있으며, 머신러닝 연구에서 분류 정확도 벤치마크에 널리 사용된다. 기본적으로 MNIST는 위와 같은 이미지 셋을 가지고 있는데 이런 이미지를 분류하기 위한 신경망은 원본 픽셀을 첫 번째 층의 입력으로 전달하고, 숫자 클래스 0에서 9까지마다 하나씩 10개의 출력 클래스를 가지게 된다. 흑백 이미지이기 때문에 각 픽셀은 0(검정색)에서 255(흰색)까지의 밝기를 가진다. 모든 MN..
심층학습 기반의 사춘기 연령 골연령 측정 방법에 관한 연구
·
코드와 오류 기록
arxiv의 A Study on Deep Learning Based Sauvegrain Method for Measurement of Puberty Bone Age의 원문과 국문 번역본이다. AbstractThis study applies a technique to expand the number of images to a level that allows deep learning. And the applicability of the Sauvegrain method through deep learning with relatively few elbow X-rays is studied. The study was composed of processes similar to the physicians' bone a..
활성화 함수(Activation Function)
·
코드와 오류 기록
2018/11/15 - [Research/Artificial Intelligence] - Long Short Terms Memory networks (LSTM) 에서 언급된 활성화 함수와 관련된 이야기이다. 인공 신경망과 생물학적 신경망 모두 뉴런이 받은 입력을 그대로 출력하지 않는다. 대신 뇌의 활동 전위 발화율에 대응하는 활성화 함수(activation function)라고 부르는 한 가지 단계를 더 거친다. 활성화 함수는 가중치 합 $z=b+\sum_{i}w_ix_i$ 을 입력받아 최종적 출력 전에 이를 다시 한번 변형시킨다. 많은 활성화 함수가 제안되었지만 여기서는 시그모이드(sigmoid)와 ReLU(rectified linear unit) 두 함수만 다룬다. 역사적으로 시그모이드 함수는 가장 ..
Long Short Terms Memory networks (LSTM)
·
코드와 오류 기록
2018/11/14 - [Research/Artificial Intelligence] - Recurrent Neural Network (RNN)에서 소개했던 RNN은 기존의 신경망이 갖던 단점을 극복했지만 그렇다고 완벽한 것은 아니다. RNN의 아이디어를 적극적으로 활용하면서 높은 효과를 누릴 수 있어 가장 많이 활용되는 분야가 언어모델이다. 예를 들어 이전 단어를 어떻게 선택했는지를 활용해 다음에 입력될 단어를 예측하는 언어 모델을 가정했을 때 "the clouds are in the sky" 라는 문장에서 "the clouds are in the" 까지 입력을 받았을 때 다음 단어는 문맥과 관계없이 "sky"가 될 확률이 높다. (이 부분에서 한글로 예를 들고 싶었지만 한글은 어순과 문맥의 특성이 조..
Recurrent Neural Network (RNN)
·
코드와 오류 기록
순환신경망(RNN: Recurrent Neural Network)은 자연어 처리(NLP: Natural Language Processing) 문제에 높은 성능을 가지는 인기있는 신경망 모델이다. RNN은 기본적으로는 순차적으로 쌓여있는 정보를 처리한다는 아이디어에서 출발한다. 기존의 신경망 구조에서 입출력 각각이 독립적이라고 가정해왔는데 이는 일반적으로 옳지 않다고 여겨진다. 이에 동일한 태스크를 하나의 시퀀스의 모든 요소마다 적용하고 출력 결과는 이전의 계산 결과에 영향을 받게끔 구성한 것이 RNN이다. 이 말을 보다 쉽게 사람이 생각하는 방식에 적용해볼 수 있다. 예를 들어 어떤 사람이 하나의 생각을 말하기 위해 말하는 순간 순간 다시 방금 전의 생각을 지우고 다시 생각해내면서 말하지 않는다. 즉 이..
Transport Security has Blocked a cleartext HTTP 해결
·
코드와 오류 기록
xml-rpc라던가 기타 통신 중에 "App Transport Security has Blocked a cleartext HTTP" 라는 오류가 나올 때는 위 그림처럼 순서대로 프로젝트의 info.plist를 수정하면 해결된다. 1) 프로젝트 선택2) info3) App Transport Security Settings key 생성4) 아래 raw를 추가하며 그림과 같이 설정
cocoapods swift
·
코드와 오류 기록
ios 개발할때 유용한 라이브러리들을 사용하는 방법중의 하나로 cocoapods를 꼽을 수 있다. 설치는 간단하다.sudo gem install cocoapods 제거 할때는 sudo gem uninstall cocoapods 설치한 이후 기존의 XCode 프로젝트 폴더에서 터미널에서 profile 생성 명령어를 실행해준다.pod init이렇게 하면 profile이 생성된다. 생성된 profile 파일을 텍스트 편집기에서 열어 추가 하고자 하는 라이브러리를 입력하고 저장해준다.(참고로 profile에서 #은 주석을 의미한다.)# platform :ios, '6.0'
(Swift) HTTP XMLRPC
·
코드와 오류 기록
func chilkatTest() { let http = CkoHttp() var success: Bool // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial") if success != true { println("\(http.LastErrorText)") return } var xmlReq: String? = "demo.sayHello" var xmlResponse: String? = http.XmlRpc("http://www.cknotes.com/xmlrpc.php", xmlIn: xmlReq) if xmlResponse == nil { print..