Evolution of CNN

posted Apr 16, 2018, 11:29 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 16, 2018, 11:43 PM ]

  1. LeNet - LeCun in 1990’s.
  2. AlexNet- Alex Krizhevsky, Ilya Sutskever and Geoff Hinton, Won ImageNet LSVRC  challenge 2012 (like LeNet but bigger and deeper)
  3. ZF Net – M. Zeiler and R. Fergus ILSVRC 2013 winner (improving the AlexNet by hyperparameter tweaking)
  4. GoogLeNet- Szegedy et al. from Google, ILSVRC 2014 winner (Inception Module)
  5. VGGNet – K. Simonyan and A. Zisserman runner-up in ILSVRC 2014 (depth matter)
  6. ResNet - Kaiming He et al, ILSVRC 2015 winner , special skip connections and a heavy use of batch normalization.
  7. ImageNet Large Scale Visual Recognition Challenge (ILSVRC )

Why Deep Learning?

posted Apr 16, 2018, 4:57 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 16, 2018, 5:00 PM ]

An article at the University of Montreal explains it well.

The original paper is here.

Lastly, some tutorials.
The fonts from the first and last sites look the same. Probably the same person, just different domain names.


posted Apr 10, 2018, 8:43 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 16, 2018, 11:38 PM ]

Arduino Quick Overview

posted Apr 8, 2018, 7:12 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 8, 2018, 7:15 PM ]

Arduino is

  1. programming environment (integrated development environment = IDE and simplified C language)
  2. hardware standard

The default Arduino boards contains AVR ATmega328 microprocessor e.g. Arduino Uno / Arduino Nano.
To use the default microcontroller, simply install Arduino IDE, choose the board from the list, enter a program, compile and download.

Many microcontroller boards are Arduino IDE but use the ARM processor etc.
You must install a replacement compiler into the Arduino IDE.
These boards are not made by Arduino so you run the slight risk of incompatibility if the board vendor does not update the compiler for some reason.

Example boards

 Original Arduino Uno Board. Note Arduino-standard header.
 Arduino Nano Board.
 Arduino-header compatible ARM board.

To learn more:

ARM Assembly Language Programming

posted Apr 7, 2018, 9:33 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 7, 2018, 9:35 PM ]

MySQL Cheat Sheets

posted Apr 7, 2018, 5:50 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 7, 2018, 6:00 PM ]

SQL Cheat Sheet

In this cheat sheet, learn how to perform basic operations in SQL. Get function for inserting data, update data, deleting data, grouping data, order data, etc. If you have started using SQL this the best reference guide

MySQL & SQL Cheat Sheet

In this cheat sheet, you will find commonly used MySQL & SQL commands. Get cheat codes for MySQL mathematical function, MySQL string function, basic MySQL commands. You will also find SQL commands for modifying & querying.

STM32 Resources

posted Apr 7, 2018, 5:10 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 7, 2018, 9:37 PM ]

The STM32 is a family of 32-bit Flash microcontrollers based on the Arm® Cortex®-M processor produced by STMicroelectronics. The official toolchain is Keil, now owned by ARM. For no cost, one can use the GCC toolchain.
Some website to find info on the chip:

Overview of STM32F446

posted Apr 7, 2018, 8:02 AM by MUHAMMAD MUN`IM AHMAD ZABIDI

This is the a good board for learning ARM. Cheap. Very powerful. Arduino compatible.

The board has 2 parts:
1. Debugger (ST-LINK)
2. Actual MCU

The form factor is the same for all Arduino-compatible Nucleo boards. The actual board you have depends on the MCU itself. And the MCU choice is largely determined by the Cortex version you need. In our case, we want to used the Cortex-M4 because it has DSP and SIMD. The STM32F446 MCU is the cheapest M4 at the time of writing.

Learning Linear Algebra

posted Apr 3, 2018, 6:46 PM by MUHAMMAD MUN`IM AHMAD ZABIDI   [ updated Apr 3, 2018, 6:47 PM ]

Notes from Chapter 2: Linear Algebra for Deep Learning of the  "Deep Learning Book by Goodfellow, Bengio & Courville.

and all that.

Guess What Gate This Is

posted Apr 1, 2018, 3:23 AM by MUHAMMAD MUN`IM AHMAD ZABIDI

Try replacing the circuit with a single gate.

Use the equation to build a mux then substitute: y = s'd0 + sd1.

  1. Top left mux, output = b'(a)  + b(1) = ab' + b = a+b
  2. Bottom left mux, output = b'(0) + b(a) = ab
  3. Right mux = (ab)'(a+b) + (ab)(0) = (a'+b')(a+b) = a'a + a'b + ab' + b'b = a'b + ab' or simply a xor b!

1-10 of 48