Tuesday, 7 February 2017

Solving XOR problem using tiny-dnn

Solving XOR problem using tiny-dnn

REVISED August 13th 2017

Almost all mature deep neural network (DNN) libraries e.g. Tensor Flow, Theano, Caffe, and etc are written in python, not in C/C++. We will hardly find library for DNN written in C/C++. Even if we find one, it requires heavy resources. Fortunately, we now have tiny-dnn. tiny-dnn is a C++11 implementation of deep learning. Nothing needs to be compiled, header only. It is suitable for deep learning on limited computational resource, embedded systems and IoT devices.

For new tiny-dnn user, it may hard to get used with the environment because the examples provided are directly designated to solve MNIST or CIFAR problem. On this post, I try to give example to solve simple problem (XOR) using tiny-dnn. It may sound excessive to use DNN framework only to solve XOR problem,. But for the sake of better understanding of framework structure, I think it’s okay to do so.

Sunday, 15 January 2017

Indonesian Word to English Equal Phoneme Routine

Indonesian Word to English Equal Phoneme Routine

There are no special rules on how word in Indonesia should be converted into phoneme. Mostly , each alphabet in word is phoneme. If we have word cinta, it simply put c+i+n+t+a (Indonesian phoneme) or ch+ih+n+t+aa (English equal phoneme), as phonemes. The exception only applies on diphthong and nasal. Although we have exception, it remains simple. For example word sayang which has nasal ng, could simply be converted into s+a+y+a+ng (Indonesian phoneme) or s+aa+y+aa+ng (English equal phoneme). Or word aura which has diphthong au, could be converted into au+r+a (Indonesian phoneme) or aw+r+aa (English equal phoneme).

Here I write C++ routine to do such job. This routine maybe not the most effective one, but it works though. I design the routine to be able clean the non-necessary characters. Some part of the routine may seem useless. It is because I originally design for many task, but, in the end of the day I left the task to shell script. Number tokenization is not implemented yet. The output of the routine is English equal phoneme.

Persamaan Diferensial : Sebuah Pendahuluan

Persamaan Diferensial : Sebuah Pendahuluan

Persamaan diferensial (Differential equationDE) dapat dimanfaatkan untuk menjelaskan hampir semua fenomena yang kita temui dalam kehidupan sehari-hari. Sebagai contoh, telepon genggam yang kita pakai. Sinyal telepon genggam yang merupakan media transmisi kita dalam mengirim dan menerima informasi, berawal dari persamaan diferensial. Menjelaskan bagaimana planet di tata surya beredar di orbitnya mengelilingi matahari. Atau mengetahui bagaimana berita hoax menyebar di jejaring sosial. Bahkan untuk memahami tingkat penyerapan vitamin C di tubuh kita untuk membantu menangkal dari penyakit atau memahami cepatnya virus influenza penyakit menyebar. Itulah beberapa contoh manfaat persamaan diferensial. Saintis dan insinyur melihat dunia melalui persamaan diferensial. Karena fenomena ilmiah harus terukur dan dijelaskan.

Wednesday, 11 January 2017

Indonesian Phonemes Relation to English International Phonetics Alphabet

Indonesian Phonemes Relation to English International Phonetics Alphabet

Indonesian phonetic system has a simple pattern compared to English phonetization rule. Most of alphabet Indonesia directly stand to phonetic symbol. The addition for Indonesia phonetic symbol includes nasal (ng, ny), diphthong (ay, aw, ey, and oy), fricative (kh and sy), and so forth. To make a better phonetic system comparison between Indonesia and English, it’s important to have a relation table. Based on [1] and [2] (with some minor change from me in E vowel), the relation table between Indonesia and English is shown in following table 1.