Komponen Artificial Neural Network

Sebelum lebih jauh kedalam programming, pada lesson Komponen Artificial Neural Network (ANN) akan membahas struktur yang membentuk ANN.

Walaupun tidak sama, ANN adalah sistem komputer yang mencoba meniru cara kerja biological neural network. Berikut komponen untuk membentuk ANN:

Layers
Layer adalah komponen utama dari ANN. Operasi Linear ditambahkan operasi non-liniearity akan membentuk layer.

Pada lesson sebelumnya, kita sudah membuat model linear, dimana input diproses oleh operasi linear dan menghasilkan output. Ini adalah jenis neural network yang paling sederhana, tanpa layer atau tanpa depth.

Pada neural network, sebuah output akan menjadi input bagi layer berikutnya. Berikut model ANN dan istilah yang perlu dipahami.

* Width, adalah jumlah hidden unit dalam hidden layer, pada gambar diatas berarti width adalah 9.
* Depth, adalah jumlah hidden layer, pada gambar diatas adalah 3.
* Hyperparameter, adalah parameter yang kita tentukan untuk membuat ANN, dalam hal ini width dan depth. Hyperparameter lainnya adalah learning rate.
* Input Layer, data training yang diinput ke model dalam hal ini kita memiliki 8 input. Pada TensorFlow, ini disimpan dalam placeholder untuk input.
* Hidden layer, layer yang berada diantara input dan output layer, jumlahnya menunjukan depth dari ANN.
* Output layer, atau hasil perhitungan model yang akan dibandingkan terhadap target. Dalam hal ini output ada 4.

Dari contoh gambar diatas, Pada layer input, data diinput ke model. Lalu diproses dengan operasi linear dan non-linear menghasilkan ouput, dan akan digunakan sebagai input bagi layer berikutnya.

Menambahkan hidden layer dapat dilakukan berulang-ulang tergantung kebutuhan kita. Tentunya makin depth model, resource komputer yang dibutuhkan akan lebih besar (memory, computing power).

Perhatian, hyperparameter berbeda dengan parameter. Parameter adalah weights dan biases, nilainya dihitung oleh model. Sementara hyperparameter adalah nilai yang kita tentukan saat membuat ANN.

Activation Functions

Non-linearity yang ditambahkan setelah perhitungan linear, pada machine-learning disebut sebagai Activation Functions. Activation functions yang sering digunakan:

Nama FungsiFormulaRangeSigmoid (logistic function)[0, 1]Tanh (hyperbolic tangent)[-1, 1]ReLu (Rectified Linear unit) Relu(a) = max(0, a) [0,