본문 바로가기

전체보기256

신경과학의 원리 1 수업 - Chapter 1. The Brain and Behavior Principles of Neural Science 5th Edition : Chapter 1. The Brain and Behavior - 현대의 신경과학은 뇌-마음-행동을 하나의 신경과학적인 방법으로 모두 설명하고자 하는 학문이다.- 신경과학은 여러 뉴런들이 복잡하게 연결되어 있음으로 구성된 것을 밝힌 것이 중요한 시작이었다. 이는 골지가 개발한 silver salt 방법을 이용해 최초로 neuron doctrine(각각의 개별 뉴런들이 모여 전체 신경계를 구성한다)을 알게 되었고, 추후 electron microscopy 방법을 통해 synapse를 관찰함으로 확실해졌다.- 현대의 신경과학에서 가장 중요한 발견은 먼저 뇌의 각 영역마다 특수한 기능을 수행한다는 발견이다. 초창기에는 Gall이 주장한.. 2016. 9. 19.
p Norm vector norm : 각각의 엘리먼트의 절대값을 p제곱한다음 루트p 따라서 L1 norm은 element 절대값의 합에 해당하고, L2 norm은 피타고라스의 정리처럼 유클리드 거리를 구한것에 해당한다. http://mathworld.wolfram.com/VectorNorm.html - 좀 더 보기 편한 수식https://rorasa.wordpress.com/2012/05/13/l0-norm-l1-norm-l2-norm-l-infinity-norm/ 2016. 9. 17.
TensorFlow 프로그래밍 TensorFlow # flags 사용: https://stackoverflow.com/questions/33703624/how-does-tf-app-run-workflags로 지정된 변수들은, tf.app.run()을 이용해 실행할 경우 main.py 함수를 실행할 때 자동으로 커맨드 라인에 입력한 argument를 parsing하여 내부로 자동 전달해주는 역할을 한다. "Runs the program with an optional 'main' function and 'argv' list." The name 'conv_layer1/h_pool1' refers to an Operation, not a Tensor. Tensor names must be of the form ":". 아하.. 그냥 name.. 2016. 9. 13.
Maximum Likelihood Estimation의 의미 MLE에서 확률(*)의 곱을 최대화하는 대신 확률의 합을 최대화하면 어떻게 될까? 보다 정확히, (*)는 모델이 주어졌을 때 IID데이터의 확률. 즉, p(x1|M)p(x2|M)...p(xn|M) 을 최대화하는 것이 아니라 p(x1|M)+...+p(xn|M)을 최대화 하는 모델 파라미터를 선택한다면? --> 확률곱 : iid 에서 교집합의 확률 확률합 : iid 에서 합집합의 확률교집합은 and, 동시에라는 조건이고 합집합은 or, 또는이라는 조건이라 곱셈이 훨씬 강력한 가정이다. 둘다 각각의 확률 엘리먼트가 최대화가 되긴하겠지만 곱셈은 1개의 엘리먼트만 0을 가져도 전체확률이 0이 되어 Log Loss 값이 무한대가 되지만, 확률 합은 그렇지 않아서 더 약한 조건이다. 그리고 exp 이 있는 확률모델이.. 2016. 9. 2.
Ubuntu 다양한 CLI/bash script 사용 법 ## Bash script 튜토리얼 https://ryanstutorials.net/bash-scripting-tutorial/bash-if-statements.php#ifelse # Ubuntu 파일 경로 의미 /bin: core tools, some admin tools, contents controlled by package manager. /usr/bin: mostly end user tools, contents controlled by package manager as well. /usr/local/bin: yours to use and abuse. # Wildcard의 모든 subdirectory 인식 shopt -s globstar (.bashrc에 추가해주면 편하다.) ls data/**/.. 2016. 8. 22.
Windows 7과 10 설치 / 노트북 한영키 Windows 7 설치 및 복구옛날 노트북이나 컴퓨터에는 그냥 바로 usb로 설치 디스크 만든다음 CMOS에서 부팅 설정 바꿔서 하면 끝이었음. 근데 요즘에는 일단 윈도우7이 표준이 아니라, 그 위의 8이나 10이 표준이라 문제가 발생함. 1) 일단 기가바이트 메인보드에서는 usb를 인식하지 못해서 설치 디스크가 없다고 계속 뜸--> 기가바이트에서 제공하는 설치 파일 제작 프로그램을 다운 받은 후, usb 드라이버를 추가하여 다시 제작해야함.http://playwares.com/hwboard/47350801 2) 그다음 제조사에서 제공하는 BIOS 에서 win7으로 부팅하는 것이 표준 목록에서 빠져있는 경우가 있음.--> 이런 경우 BIOS설정을 세밀하게 조정하여 win7으로 부팅이 되도록 해줘야함.ht.. 2016. 8. 6.
Ubuntu GUI 관련 트러블슈팅. Gym, Xserver, pyglet, TeamViewer OpenAI Gym을 원격서버 IPython에서 렌더링하기# 주의 # 아래의 방법으로 하면, 결국 되기는 되는데, CUDA 드라이버가 뭔가에 의해서(아마 범블비) 지워져버려서 GPU컴퓨팅이 안된다....... 그래서 결론은 이 글 가장 아래부분의 TeamViewer를 사용하는 것을 추천한다.-----원격 서버에서 IPython을 통해 GYM의 렌더링 결과를 gif로 보여주기를 시도해보았다. 결국 다음 링크의 예제를 재현하는 것이 목표였으나 pyglet과 xvfb 설정에서 상당히 많은 어려움이 있었다. 재현할 대상 : http://nbviewer.jupyter.org/github/patrickmineault/xcorr-notebooks/blob/master/Render%20OpenAI%20gym%20as%.. 2016. 7. 26.
Python에서 유용한 라이브러리 설치 프로그램easy_install, pip : python package 설치 프로그램. 근데 pip가 최신임. easy_install은 곧 사라질 녀석임apt-get : 리눅스 터미널 명령어. 전역 프로그램 패키지를 다운로드하고 설치해줌. # 주의사항 : apt-get으로도 설치하고, pip로도 설치하면 둘이 서로 꼬여버린다. 둘중하나로만 깔아야함.(한쪽을 지우든지) pip와 easy_install의 관계는 모르겠음 꼬일지 안꼬일지. http://blog.outsider.ne.kr/346http://egloos.zum.com/mcchae/v/11023238 deb 파일 설치 방법: sudo dpkg -i 패키지.debhttp://jjeong.tistory.com/664 Scrapy쓰기 좋은 웹 크롤러.. 2016. 2. 23.
Docker 사용방법 Docker란 무엇인가? http://www.slideshare.net/pyrasis/docker-docker-38286477 OS에 부담을 주지 않는 매우 효율이 좋은 가상화 도구로 VM보다 훨씬 구조가 간단해서 기본 OS 99% 의 성능을 낼 수 있는 매우 유용한 가상화 시스템이다. 결론적으로 얘기하자면, 도커는 시대의 흐름이고 앞으로 모든 것이 도커를 기반으로 돌아갈 것이다. Docker에서 쓰이는 용어 이미지: 미리 임의의 환경을 구워놓은 이미지 파일 컨테이너 : 이미지를 실행하는 독립된 light VM 같은 것 Ubuntu 18.04 에 docker 설치하기 간편하게 정리된 도커 공식 설치 스크립트를 사용하기 curl https://get.docker.com | sh && sudo systemc.. 2016. 2. 19.
Ubuntu 서버 구입부터 설치 및 인터넷 설정까지 1. GPU 서버 구입 아래와 같이 고성능 GPU 컴퓨팅용 서버의 견적을 내고 주문한다. 아래 견적은 호환성이 검토되어 있다. 호환성은 다음의 4가지만 체크하면 큰 문제가 없다. 메인보드와 CPU의 소켓넘버가 같은지 / 메인보드가 RAM의 스펙을 지원하는지 / 메인보드의 PCI가 GPU를 지원하는지 / GPU의 전력용량을 파워가 충분히 만족시키는 지 (단, 하드디스크는 3TB이상일 경우 우분투에서 인식하지 못하는 버그가 있는 것으로 알려져있다.) 위의 견적에서 가격을 조금 내리고 싶다면, 다음을 고려할 수 있다. 1) 파워를 750W -> 650W 로 다운. (Titan X 는 권장 600W 을 요구하므로, 650W으로 충분할 수 있다.) 2) CPU와 메인보드를 다운그레이드 3) 케이스/키보드 구입 X.. 2016. 2. 12.
Numpy 문법, API, 환경설정 / HDF5를 위한 H5PY API Numpy 기본 레퍼런스 http://docs.scipy.org/doc/numpy/reference/ # Numpy object 인지 type check하기 type(a).__module__ == np.__name__ True https://stackoverflow.com/questions/12569452/how-to-identify-numpy-types-in-python # 잘 모르는 유용한 method - np.triu: upper triangle matrix를 만든다.( == lower triangle을 0으로 만든다) - np.tril: lower triangle matrix를 만든다.( == lower triangle을 0으로 만든다) - np.cumprod: 주어진 axis로 cumulativ.. 2015. 12. 1.
Advanced Gradient Descent Method Advanced Gradient Descent Method (고급 경사 하강 법)출처 : http://imgur.com/a/Hqolp 위에서 소개된 그림은 특정한 landscape에서의 각각의 optimizer들의 학습 속도를 표현 한 것이다. 보기에는 Adadelta가 최고인가하고 생각 할 수 있겠지만, 문제 상황에 따라 잘하는 경우도 있고, 못하는 경우도 있으므로 문제 상황에 맞게 잘 선택해야한다. 출처 : http://imgur.com/a/Hqolp 위의 이미지는 특히 Rmsprop와 Adagrad가 좋은 성능을 보인다. 뉴럴넷의 W와 같은 고차원의 공간에서는 이러한 saddle point가 매우 많아 문제가 되는 것으로 알려져있다. 따라서 이 두가지 옵티마이저를 선택하는 것은 좋은 방법이다. 요즘.. 2015. 10. 24.
미분의 체인 룰, 합성 함수 미분 # 체인룰 체인 룰이라 불리는 법칙은 사실은 합성 함수 미분의 원리를 말하는 것이다. 즉 f(g(x))를 미분하면, f'(g(x)) * g'(x)이 되는데, 이것이 바로 체인룰이다. 그냥 겉미분*속미분 같은 공식으로는 설명이 불충분하고 비직관적이다.보다 직관적으로 설명하자면, g(x)=u 라고 먼저 정의를 하고, f(u)를 u로 미분한다음, u를 다시 x로 미분하게되면 f'(u) = df/du * du/dx = df/dx f'(u) = df/du = f'(u) * u' (단, u' = g'(x)) 이 되고, 이는 마치 곱셈과 나눗셈으로 du 를 약분하듯이 계산된다. 이것이 체인룰이다. (물론 df/dx가 정확히 분수는 아니나, 아래의 합성 함수 미분의 증명을 보면 의미적으로는 충분히 약분이 가능한 형태임.. 2015. 10. 11.
여러 Classifier 간의 특성 - 여러 데이터의 구조에서 각 알고리즘들이 경계선을 찾은 결과 http://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html 참고로 scikit-learn 은 python 에서의 weka라고 생각될 정도로 매우 사용이 쉽고 다양한 알고리즘이 구현되어있다고한다. 단 2~3줄 만으로 학습 및 추론이 가능하다. - 아래와 같은 데이터를 분류해보자. (arff는 weka의 데이터 형식이다.) generated by 곽하녹 이 문제는 우선 2차원에서의 유클리드 거리정보가 매우 중요하다. 따라서 KNN알고리즘을 쓰면 쉽게 97%의 정확도에 도달할 수 있다. SVM으로 할 경우 gamma가 매우매우 성능에 민감한 영.. 2015. 9. 14.
Ubuntu 설치하기 Ubuntu 설치 USB 만들기https://hiseon.me/linux/ubuntu/ubuntu-install-usb/1. ISO 이미지 다운로드https://ubuntu.com/download/desktop 2. Rufus 다운로드https://rufus.ie/ 3. Ubuntu 설치 USB 만들기https://hiseon.me/linux/ubuntu/ubuntu-install-usb/ Ubuntu 설치하기Ubuntu 설치 USB를 꽂고 컴퓨터를 켠다음, Try Ubuntu without installing 을 클릭한다. 설치를 진행하기 전에 확인해야하는 시스템 사항이 있기 때문이다.1. 내 디스크의 OS 설치방식 확인하기sudo parted -l 설치전에 위 명령어를 실행하여 GPT 디스크인지 여부.. 2015. 8. 28.
고정ip가 할당된 공유기에 리눅스 서버를 올릴 때, 포트포워딩 - 고정ip가 할당된 공유기에 리눅스 서버를 올릴 때 1) 공유기에 접속해서 dhcp 가 할당하는 내부 ip를 고정시킨다.(mac 주소에 내부 ip를 고정시킴)2) 포트포워딩을 통해, 고정ip로 들어오는 특정 포트(22)로의 접속을, 내부 포트(22)로 보낸다. ssh(푸티)와 sftp는 모두 22번 포트를 사용함. 프로토콜만 다름3) 리눅스서버에 sudo apt-get install openssh-server 를 설치하고 실행한다. - 리눅스 설치하고나서 할일sudo update로 모든 설치된 프로그램을 업데이트 apt-get install build-essential로 빌드 에센셜 깔기 sudo apt-get install vimsudo apt-get install openssh-server syst.. 2015. 8. 24.
Bayesian Optimization, Active learning 둘다 가우시안 프로세스, 가우시안 리그레션으로 에러 펑션에 대한 근사함수를 만든다음 그 근사함수 상에서 에러를 최소화하는, 또는 근사 함수를 좀더 정확하게 만들 수 있는 점들을 다음 실험의 하이퍼파라미터로 사용한다. 그렇게 최소화된 실험 횟수로 하이퍼파라미터를 찾을 수 있다. https://www.youtube.com/watch?v=VG2uCpKJkSg Bayesian Optimization : 딥러닝을 제외한 여러 하이퍼파라미터 서치 알고리즘. 뉴럴넷의 하이퍼파라미터에 대해 에러를 minimize하기위한 objective function을 가짐. 직접적으로 에러에 대한 최소화를 목표로하기때문에 active learning보다 더 성능이 잘나온다고함. 또한 이것의 의미는 비전문가도 머신러닝을 쉽게 쓸 수.. 2015. 8. 13.
Conventional AI Planning & scheduling : is searching a state transition processes toreach the goal state.https://en.wikipedia.org/wiki/Automated_planning_and_schedulinghttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.2340&rep=rep1&type=pdf Decision making : 디시전 메이킹은 기본적으로 디시전 트리를 생각하면 될듯.걍 머신러닝알고리즘이 하는게 디시전 메이킹임https://en.wikipedia.org/wiki/Anticipation_(artificial_intelligence) 2015. 8. 11.
Tex, LaTeX, Lyx Tex는 LaTex 형식으로 문서를 작성하여 해당 학회의 스타일에 맞게 원본 문서가 변형되고, 레퍼런스 형식 또한 자동으로 맞춰지게 해주는 문서 작성 프로그램이다.워드파일에 비해 실행환경에 영향 받는 정도가 훨씬 적어서 문서가 일관된 형식으로 보여지는 매우큰 장점이 있다.또한 수식을 입력하는 것도 워드에 비해 더 편리하다.https://ko.wikipedia.org/wiki/TeX 1. tex live 2015를 설치한다.http://wiki.ktug.org/wiki/wiki.php/%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0Windows/tlinstall 2. texmaker 를 설치한다.(기본에디터인 texworks보다 훨씬 편리하고 기능이 더 좋은듯하다.)http://www.x.. 2015. 8. 10.
논문 작성시 저작권의 공정 이용 저작권에 대한 여러가지 자세한 설명http://www.mcst.go.kr/web/s_policy/copyright/question/question01.jsp 공정 이용 : 특수한 조건하에서 저작권자의 허락 없이 저작물을 사용 가능하게 하는 법률https://ko.wikipedia.org/wiki/%EA%B3%B5%EC%A0%95_%EC%9D%B4%EC%9A%A9 영문 원본 링크https://www.libraries.psu.edu/psul/lls/students/using_information.html다음 4가지 사항의 정도에 따라, 공정이용으로 판단된다.the purpose and character of the use, including whether such use is of commercial nat.. 2015. 8. 10.