티스토리(TISTORY)를 쓰면 안되는 이유

상념 2018. 12. 24. 13:52

티스토리 블로그 처음 시작하시는 분들 참고하라고 글써본다.

 

티스토리는 검색 노출이 거의 안됨. 

'구글'이나 '네이버'등의 메인 검색엔진에 거의 노출이 안됨. 아마도 로봇 크롤링이 막혀있는듯.

사람들이 많이 안쓰는 '다음' 검색에서만 노출이 잘됨. 하지만 내 주변에 '다음' 검색 쓰는 사람은 거의 못봤음. 아니 한번도 못봤음.

수동으로 이들 검색 엔진에 노출 시키려 해도 절차가 복잡하고 불가능한 부분도 있음.

이제와서 모든 글을 다른 블로그로 이동하는 것도 쉽지 않고... 아쉬움. 애초에 티스토리 특성 좀 조사해보고 블로그를 시작했어야하는데. 너무 아쉬움.

 

 

 

 

 

 

posted by Dr.Deeeep

딥러닝에서 데이터 normalization 범위

상념 2018. 11. 7. 09:50

 

 

딥러닝에서 데이터 전처리시 가장 궁굼한 것 중 하나가, normalization의 대상 범위를 어떻게 정할 것인가? 인데 신경망을 연구하는 사람들은 이미 다 알고 있는 것인지도 모르겠다.

normalization 방법을 단순히 try and error 방법으로 실험으로만 결정할 문제는 아닌것이다. 

아래 이미지는 UCI EEG에서의 normalization을 이거 저거 해보면서 만든 슬라이드 중 일부인데. 이 이외에도 여러 가지 있고 각각 결정해야할 변수들이 많다. 또 실제 각 normalization 시 참고 백데이터 범위를 global 데이터를 대상으로 할 것인가 현재 인스턴스만을 대상으로 할 것인가까지 고려해야 하므로 더 다양한 조합의 방법이 있으므로 이거 저거 다 실험해 보는것은 만만치 않다.

그런데 요즘 몇가지 실험을 해보면서 확인한 바로는 뉴럴넷에 사용되는 액티베이션 펑션에 따라 결정이 되어야한다는 것이다. 액티베이션 펑션이 출력하는 범위의 데이터로 전처리 해야만 전파 중 정보 손실이 없는 것이다. 예를 들어 sigmoid 같은 경우는 0.0~1.0, tanh 같은 경우는 -1.0~1.0 정도이다. 따라서 이러한 펑션을 사용하는 신경망에서 z-score normalization은 다시 한번 생각해 봐야한다.

 

 

 

 

posted by Dr.Deeeep

뉴스: 새로운 블로그 오픈

상념 2018. 10. 3. 04:54

 

이번학기(2018년 가을학기) UST 에서 "[UST-15984] 딥러닝 기술 및 응용" 전공 강의를 하게되면서 강의 내용 및 강의 자료등을 학생들과 공유하기 위한 블로그를 새로 오픈 하였다. 

 

새로운 블로그 위치 : 

https://ust-15984.tistory.com

 

이 블로그를 통해 강의 슬라이드와 실습때 사용한 예제 소스 파일들도 같이 공유가 되니 딥러닝에 대해  공부를 시작해보고자 하는 사람들은 한번씩 방문 해봐도 좋을듯. 

이번 강의의 목표는 데이터분석 전문가를 위한 딥러닝 강의로서 텍스트 등 자연어 분석 분야에서의 딥러닝 기술을 많이 다룰 예정이며 전산 비전공자도 이해하기 쉽도록 최대한 쉽고 필수적이며 실용적인 내용만을 강의할 예정이다.

 

 

posted by Dr.Deeeep

[DIY] 997 turbo, flickering DRL replacement

상념 2018. 3. 6. 17:39

 

997 터보는 DRL LED가 펄럭거리는 고장이 많은 듯합니다. LED는 고장이 잘 안나는 부품인데 이러한 고장을 접할때 안정기나 뭔가 대단한 부품이 고장난 것으로 착각하기 쉽습니다. 저도 그랬고요.

센터에서 견적을 받으면 양쪽 LED 앗쎄이 교환으로 부품 값만 100만원입니다. ㅠㅠ

너무 심한듯해서 참고 그냥 타다가 유투부에서 우연히 수리방법을 알아냈습니다. ( https://www.youtube.com/watch?v=XcU7aRZCCSw ) 그렇습니다. 전구만 교체하면 되는 겁니다.

그래서 알리와 이베이를 뒤져서 997 LED 셋트를 주문. 20불~40불정도 밖에 안하는데 12개 정도되는 각종 LED 벌브 셋트가 배달됩니다. (https://www.ebay.com/itm/16pc-white-for-Porsche-911-997-Carrera-Turbo-LED-Bulb-Interior-Light-Kit-05-11/273075750221?fits=Make%3APorsche&hash=item3f9495454d:g:6fYAAOSwwE5WVypK&vxp=mtr )이런 제품입니다.

그 다음은 뭐. 동영상대로 벌브 교체하면 됩니다.
첫번째 사진에서 아래쪽이 스탁, 오른쪽이 이베이 파트입니다. 그리고 수리 완료 사진.

 

'상념' 카테고리의 다른 글

딥러닝에서 데이터 normalization 범위  (0) 2018.11.07
뉴스: 새로운 블로그 오픈  (0) 2018.10.03
Porsche 911 Fuse box diagram  (0) 2018.01.30
리더기로 워드 입력  (0) 2017.08.31
딥러닝에서 노이즈의 중요성??  (0) 2017.01.12
posted by Dr.Deeeep

Porsche 911 Fuse box diagram

상념 2018. 1. 30. 00:43

요즘 영하 17도씩 내려가는데 추운곳에 주차해두고 1주일 정도 출장을 갔다왔더니 시동이 안걸린다. 긴급 출동서비스로 점프스타트를 했더니 차가 살아나긴 했는데 오디오가 죽었다. 아니 앰프가 죽었다고 하는게 맞겠지. 소리만 안나오니까.

그래서 요며칠 운전할 때 음악을 못 틀고 배기음만 들으며 달리기만 했더니... 웬걸. 은근히 운전하는 재미가 늘었다. ㅎㅎ

하지만 언제까지 음악없이 운전만할 수는 없지. 검색해보니 앰프가 안죽었을 수도 있고 단지 앰프 퓨즈가 나갔을 수도 있다니? 그래서 더 검색을 해서 이렇게 포르쉐 퓨즈박스 다이어그램을 찾았다.

내일 확인 해봐할 듯. D열의 F10이 나간거라면.. 좋을듯.

 

 

 

 

 

posted by Dr.Deeeep

리더기로 워드 입력

상념 2017. 8. 31. 20:32

 

어쩌다 내 책상위를 보면 내가 키보드 성애자가 아닐까 그런 걱정이 든다. 온갖 종류의 키보드 붙은 기계들이 넘쳐난다. 데탑들, 각종 노트북들, 기계식키보드, ibm m, 블투 키보드는 당연한거고, 모바일프로780, 900, alphasmart dana, neo, pomera dm20, dm200, gpd win, ... 심지어 키보드있는 전자 사전들까지 모으고 있다. 키보드로 뭔가 입력하고 있으면 편안한 느낌... 가장 아끼는 것은 mp780과 dana다. (mp780은 작동하는 모델을 구하기 위해 고장난 mp780을 3개를 사서 카니발라이즈해서 제대로 동작하는 하나를 만들었다. 그것도 나중에 한번 소개해야겠다.)

특히 환하고 화려한 백그라운드의 인터넷이 연결된 데스크탑이나 노트북에 입력하는 것보다 저런 어둡고 아무 기능없는 단순히 입력만 되는 기계에 먼가 메모를 막 입력하면서 생각을 정리하는 것을 좋아한다.  

이 사진은 onyx max carta라는 이북 리더에 아래아 한글을 설치해서 입력하는 사진이다. 이것도 상당히 좋은 이유가 디지털 페이퍼 화면이기 때문에 정말 눈이 편하고 입력에 집중할 수 있다. 화면도 느리지만 타이핑하는데 큰 지장은 없다. (사진에는 리더의 화면에 모자이크를 뿌려서잘 안보일테다.) 암튼 이런게 가능하다는 것을 나와 비슷한 취향을 가진 사람들한테 알려주려고 글 올려본다.

안드로이드(4.0이상?) 기반 이북 리더에서는 다 가능하다. 도스박스 설치 후 hwp1.5를 깔고 블투키보드를 연결하면 된다. 입력한 파일은 한컴오피스에서 읽어와서 현대화 할 수 있다.

posted by Dr.Deeeep

딥러닝에서 노이즈의 중요성??

상념 2017. 1. 12. 00:59

 

 

위 그림은 이글과 아무 관련이 없고 구글에서 퍼온 그림임.

뇌파를 보다보면 점점 노이즈 처리의 어려움으로 분석의 한계에 봉착하게 된다.아니 노이즈 처리의 어려움까지 가기전에 어디까지를 노이즈로 할것이고 어느 영역까지를 뇌파로 할것인지 결정하는 것부터 큰문제거리다. 그만큼 뇌파라는게 온갖 생체,환경,장비시그널의 결합체인것이다. 뇌파에는 뇌파이외에도, 심전도, 관측장비시그널, 근육움직임파동, 눈깜빡임, 눈동자 움직임, 턱근육 움직임, 전류, 저항잡음, 주변환경신호,등등이 섞여 있는데. 이건 마치 수백명이 물장구치는 수영장에서 철수가 만드는 파형만을 뽑아분석하려는 것과 같다... 어쩄든 그런 얘기를 하려는 건 아니고.

노이즈가 극히 적다는 가정하에 노이즈가 러닝에 어떤 영향을 끼지는지 조사를 해보았다. 몇가지 실험을 해보면 노이즈가 있는 데이터는 러닝 효율이 좋다. 내가 가진 정신착란 생쥐의 뇌파의 경우는 96퍼센트의 정확률로 분류하기까지 한다. 어마어마하게 뭔가 잘못된것이다. 물론 오버피팅이 되는 것이다. 첨부 이미지처럼 저렇게 electric pop 노이즈의 경우는 특히 그렇다. 쉽게 말해 저렇게 특이한 데이타(노이즈)가 들어오면 기계가 기억하기 쉽기 때문에 오버피팅이 되는 것이다. 마치 학생들 이름을 잘 못외우는 교사가 코에 유난히 큰 점이 있는 학생의 이름은 잘 기억하는 것과 같다( 맞는 예인가? ) 이러한 노이즈는 학습된 기계의 지능자체를 올려주는 것은 아니기때문에 지양해야한다.

하지만 저런 노이즈 말고 좀더 부드러운 노이즈는 어떨까? 몇몇 논문에서는 마일드한 노이즈를 섞어서 학습하는 것이 기계의 지능을 높이는 바람직한 학습을 가능하게 한다고 밝히고 있다. 즉, 앞의 예를 이용하면, 거의 대부분의 학생들 얼굴에 적절히 주근깨와 점들이 있다면 그 교사는 주근깨와 점에 집중하지 않고 학생들의 얼굴과 그외 본질에 연관하여 이름을 기억하게 되므로 더 많은 학생의 이름을 오래 기억할 수 있다. 딥러닝에 드롭아웃을 주는 이유도 아마 이와 같은 맥락인듯하다. 데이터에 노이즈를 넣을 수는 없으니까 학습할 때 노이즈를 줘서 학습 효과를 떨어뜨리는 것이다.

현실로 돌아와서..  뇌파에서는 저 그림과 같은 노이즈를 지우는 것은 사실 큰 의미는 없어 보인다. 이미 뇌파는 앞서 말한 노이즈 아닌 불필요 데이터들과 섞여 크게 요동치고 있고 자동화된 노이즈 제거 노력은 오히려 데이터를 일그러뜨려 망칠뿐이다. 그 보다는 뇌파와 섞이는 다른 신호들도 모두 저장하고 모두 같이 분석하는 기술의 개발이 필요한듯하다. 그럴려면 엄청난 양의 데이터 분석이 필요하겠지만..

 

posted by Dr.Deeeep

 

며칠전 채널을 돌리다 우연히 연금복권 추첨하는 방법을 알게되었는데 문제가 많은듯해서 글을 써본다. 문제가 많다기 보단 터무니 없다고 할까? 말도 안되는 방법으로 추첨을 하고 있었다. 요즘 조잡한 인터넷 광고 베너 같은거 보면 복권 조작설이니 하는 말이 많이 나오던데 평소에는 웃고 지나쳤지만 이 방송을 보고는 충분히 그럴수도 있겠구나 하고 생각이 바뀌게 되었다.

연금복권은 저 사진에 있는 장비를 이용해 번호를 뽑는데, 이 방법은 번호가 쓰여진 회전판을 마구 회전시키다가 도우미나 출연 연예인이 화살을 쏘아 화살이 꼽힌 번호를 선택한다는 기본 아이디어로 전통적인 뽑기 놀이나 과거 복권 추첨 방식때 많이 쓰여왔던 방식으로 문제가 없어보인다. 하지만 문제는 화살을 도우미가 직접 쏘는게 아니라 도우미는 단지 버튼을 누를 뿐이고 실제 화살은 컴퓨터가 쏜다는 것이다. 이런 방식은 그냥 도우미의 관여없이 컴퓨터에게 원하는 시간에 화살을 쏘게 놔두는 것과 아무 차이가 없다. 마치 버튼을 누를때 화살이 바로 발사되는듯하지만, 물론 그래야 공정하겠지만, 그러지 않고 컴퓨터가 원하는 번호가 착탄위치까지 올때까지 눈깜짝할 "잠시동안" 기다렸다가 화살을 쏜다면? 그리고 이렇게 조작하는 것이 얼마나 쉬운일인지 컴퓨터를 조금이라도 아는 사람이라면 바로 동의할 것이다. 과거에 도우미가 활시위에 활을 걸어 직접 쏘는 방법과는 달리 이 방식은 도우미가 버튼을 누르는 순간과 화살이 발사되는 순간이 일치하는가를 화면상으로는 확인할 수 있는 방법이 없으므로 문제가 되는 것이다. 추첨 현장을 방청객에게 공개하여 방청객이 현장에서 감시를 할 수 있는 것처럼 하겠지만, 방청객이 보기에 버튼을 누르는 것과 화살이 발사되는 것이 항상 동시인것처럼 보이겠지만 사람의 눈은 조작에 충분한 찰나의 차이를 감지할 수는 없다. 컴퓨터가 중간에 관여한다는 것은 컴퓨터가 다 한다는 것과 같다. 컴퓨터가 랜덤 넘버를 제시하는 방식으로 복권 번호를 추첨한다면 누가 그런 복권 추첨 방식을 납득할 것인가?

암튼, 이런 말도 안되는 추첨 방식으로 지금까지 연금 복권을 추첨하고 있었고, 티비에서도 방송하고 있었는데 아무도 문제 제기를 하지 않는다는게 더 이상해서 글로 남겨본다. 

 

 

 

 

posted by Dr.Deeeep

딥러닝에서 Epoch의 중요성

상념 2016. 9. 29. 08:40

 

 

 

 

epoch는 전체 데이터에 대한 한번의 학습(forward 와 backward 포함)을 의미. 네트웍의 웨이트는 학습 시작시 초기값이 무엇이냐에 따라 학습 결과가 다르므로 매 epoch시마다 weight값이 수정되도록 한다면 매번 학습을 수행할때마다 전체 네트웍의 포텐셜이 달라짐. 그러나 항상 포지티브하게 달라짐을 보장할 수는 없으므로 매번 sum of loss 곡선을 확인 하면서 적당한 epoch의 수를 결정하는 것이 좋겠음.

batch size 한번의 학습시 사용되는 데이터의 수로 전체 데이터의 수보다 작거나 같음. batch size가 학습 효율에 어떤 영향을 끼칠지는 연구해봐야 하지만 큰 영향이 없을 것 같음(citation needed). 단지 사용하는 메모리의 문제일듯(?) [수정] 학습되는 모델의 성능으로의 영향보다는 학습 속도와 학습 효율에 영향을 줌. 한번의 batch 내에서의 학습된 내용은 batch 종료시까지 네트워크에 반영이 되지 않기 때문임. 따라서 학습 초기에는 적은 batch size로 빈번히 업데이트 해주고 학습 후기로 갈 수록 batch size를 크게 잡아주는 것이 효율적이지 않을까 생각됨. [여기까지 수정]

iteration은 정해진 batch size를 이용하여 학습(forward + backward)를 반복하는 횟수로 epoch와는 다른 의미. 한번의 epoch를 위해 수번의 iteration이 필요.

 

epoch는 학습 결과가 포지티브한 방향성이 관찰된다면 높은수를 정해줄 수록 좋은 결과를 얻을 수 있기 때문에 딥러닝에 좋은 하드웨어가 필요한 이유임. 그러나 높은 epoch는 데이터 자체를 머신에 학습시키는 것이므로 오버피팅의 문제가 있음. 적절한 epoch와 overfitting을 피하기 위한 기술 적용 필요.

posted by Dr.Deeeep

Common deep learning predictive modeling problem types

상념 2016. 9. 13. 17:24

 

딥러닝에서의 예측 모델링 문제

 

크게 세가지 타입이 있다.

 

1. Regression

예측값을 얻기 위한 문제로 원하는 예측값의 수만큼의 출력 노드 사용

loss function으로 mean squared error or 'mse' 사용

예: 다음 단계 뇌파 전압, 다음 순간 주가, 내일의 기온, 지진 피해 예상액등

 

2. Binary Classification

yes 냐 no냐를 분리하는 문제로 한개의 출력 노드 필요

loss function으로 logarithmic loss, a.k.a cross entropy or 'binary_crossentropy'

예: 조기 치매인가 정상인가? 주가가 오를것인가 내릴것인가? 지진 피해액이 특정 금액보다 클것인가 작을 것인가?

 

3. Multiclass Classification

여러개의 클래쓰로 분류하는 문제로 분류하는 클래스의 총 수만큼의 출력 노드 사용

loss function으로 multiclass logarithmic loss or 'categorical_crossentro

예: 치매 환자의 종류 분류 (혈관성 치매, 알츠하이머, 파킨슨, ... ), 치매의 진행 단계 분류 (MCI, 경증 치매, 중증 치매, ... ), 주식 종목을 정해진 클래스로 분류 (관심주지 말아야 할 종목, 관찰 종목, 관찰 후 매수 종목, 반드시 매수 종목, 시장가 매수 종목, ... ) 

 

 

optimization algorithm으로는 일반적으로 sgd 이용.

많이 사용되는 optimization algorithms.

- stochastic gradient descent: 'sgd' requires the tuning of a learning rate and momentum

- ADAM: or 'adam' requires the tuning of learning rate

- RMSprop: or 'rmsprop' also requires the tuning of learning rate

 

 

 

 

 

 

 

 

 

 

 

 

 

posted by Dr.Deeeep