생즉사 사즉생 (生卽死 死卽生)
가끔 주변의 고민을 가만 들어보면 목숨을 건 '위대한 여정'이라기엔 다소 2% 부족한 모두 현실 도피다. 생즉사, 사즉생(生卽死 死卽生). 좋아하는 명언 중에 하나인데, .. 뭔가 갈구함이 있고 대의를 따르는 각오에 어울리는 말이다. 그저 죽자 달린다고 빛이 나는 것이 아니지.
A neuron-centric programming model
According to the Google's DistBelief paper, the user defines the computation that takes place at each node in each layer of the model, and the messages that should be passed during the upward and downward phases of computation.
They didn't described details about programming APIs, but we can imagine like below:
Additionally, instead of allowing user to write a formula for some calculations directly within neuron-centric programming model, we abstract some arithmetic operations and generate the code for GPU acceleration internally. With this, we compile it to a GPU-oriented code that batches for speed.
That way the user will not have to think about the specifics of GPU, but instead focus on the algorithm.
class MyNeuron extends Neuron method upward(messages [m1, m2, ..., ]) sum ← 0 for each w ∈ [m1, m2, ..., ] do sum ← sum + m.input * m.weight // propagate squashed output value to neurons of next layer propagate(squashingFunction(sum)); method downward(messages [m1, m2, ..., ]) for each w ∈ [m1, m2, ..., ] do gradient ← this.output * (1 - this.output) * m.delta * m.weight propagate(gradient); // weight collections w ← w + Δw (α * this.output * m.delta) // push updates to parameter server push(weights);The reason I separate it into two methods (unlike Google's Pregel) is that framework can determine whether it's upward or downward phase by message type internally. Moreover, with this, we can reduce the user-side code complexity. The advantage of this is very fit for multi-thread programming and parallel computing of each gradient calculations at neuron level.
Additionally, instead of allowing user to write a formula for some calculations directly within neuron-centric programming model, we abstract some arithmetic operations and generate the code for GPU acceleration internally. With this, we compile it to a GPU-oriented code that batches for speed.
That way the user will not have to think about the specifics of GPU, but instead focus on the algorithm.
케플러 망원경이 외계 문명 발견하다? "KIC 8462852"
한국 기사로는 안나온 것 같아 작성.
케플러 미션을 수행하는 도중 지구에서 1500광년 떨어진 KIC 8462852 항성의 밝기가 20%까지 매우 불규칙하게 변하는 것을 발견했다고 한다.
천문학자들은 이를 어떻게 설명하지 못하고 있고, 이를 두고 몇 가지 설이 있는데 혜성이 지나가면서 발생했거나 항성 주변을 돌고 있는 외계 문명 구조물일 가능성이 얘기 되고 있다.
자연 현상일 가능성이 높다고 하나, 항성 주변의 외계 문명의 흔적, 즉 구조물이거나 고대 유물일 가능성도 없지 않다고.
이에 관련한 예일대 포스트닥 페이퍼: http://arxiv.org/pdf/1509.03622v1.pdf 참고
케플러 미션을 수행하는 도중 지구에서 1500광년 떨어진 KIC 8462852 항성의 밝기가 20%까지 매우 불규칙하게 변하는 것을 발견했다고 한다.
천문학자들은 이를 어떻게 설명하지 못하고 있고, 이를 두고 몇 가지 설이 있는데 혜성이 지나가면서 발생했거나 항성 주변을 돌고 있는 외계 문명 구조물일 가능성이 얘기 되고 있다.
자연 현상일 가능성이 높다고 하나, 항성 주변의 외계 문명의 흔적, 즉 구조물이거나 고대 유물일 가능성도 없지 않다고.
이에 관련한 예일대 포스트닥 페이퍼: http://arxiv.org/pdf/1509.03622v1.pdf 참고
Subscribe to:
Posts (Atom)
-
음성 인공지능 분야에서 스타트업이 생각해볼 수 있는 전략은 아마 다음과 같이 3가지 정도가 있을 것이다: 독자적 Vertical 음성 인공지능 Application 구축 기 음성 플랫폼을 활용한 B2B2C 형태의 비지니스 구축 기 음성 플랫폼...
-
네이버, KT, 오라클, 그리고 잠깐의 사업을 거쳐 삼성전자에 입사한지도 2년이 지났습니다. 2016년 병신년을 뒤로하며 이번에는 꽤 색다른 도전에 나섭니다. 무슨 일이야!? 국내 O2O 숙박전문 회사 CTO로 조인합니다! 존! 나 고...
-
무한 집합의 크기 Cardinality , 즉 원소의 개수를 수학에서는 '농도'라고 말한다. 유한 집합의 크기는 그대로 원소의 개수 이지만, 무한 집합의 경우는 원소의 개수를 낱낱이 셈하는 것은 불가능하기 때문에 '농도'라...
-
AMD에서 개발한 Aparapi를 이용하면 Java에서도 굉장히 편하게 GPU를 활용해볼 수 있다. 먼저 AMD APP SDK (AMD OpenCL™ Accelerated Parallel Processing) 를 설치해보자: 다운로드 % bzip...