Saturday, 16 February 2019

My experience in Diverse Intelligence Summer Institute, University of St Andrews, Scotland

Last summer (September 2018), I participated in Diverse Intelligence Summer Institute, University of St Andrews, Scotland. The goal of this DISI is to gather scholars and students working in the field of cognition and build connections. The "intelligence" includes the human brain, animal cognition, artificial intelligence and even plant intelligence. The summer school was intensive two weeks of lectures, discussions, a project and for sure fun.
During those two weeks I met scholars from my field of artificial intelligence and had new friendships with smart students from different countries. This experience opened my mind to other research work that I haven't thought about. Human and animal cognition for example is highly related to develop a machine cognition. Before this summer school, my focus was mainly on the computational side of the artificial intelligence. During and after the summer school my imagination got broader and new perspective where opened in my mind. Besides, I learned about cultures and of nations from other part of the world where I couldn't visit such as the US.
I would encourage every student to take the opportunity to participate in summer school activities as it brings a knowledge and experiences that are not found in the daily university life or even in scientific conferences. Although it was a dense course, I extremely enjoyed it with the kind organizers.

Sunday, 10 February 2019

Part 3: Artificial cognitive systems, Reinforcement Learning

In Part 1 we discussed the logical approach of cognitive systems and how can we model an AI agent by giving it the logical rules and the knowledge to deduct the output. Next, to let the agent learns by itself, we presented machine learning approach that can find correlation between input data set and their given output, as in Part 2.
For an interactive system, it is difficult to give all the data set of the possible experiences. The agent needs to try and collect experiences by itself. The approach that allows the agent to try and fail to learn from its experiences is the reinforcement learning. Deep Reinforcement Learning combines both the supervised approach of finding the correlation between input and output data set and the trial and error approach. In DRL, the input includes the state that the agent collected by experiences. The output could either be the action to take or an information that can help selecting the action.
One method is Deep Q-Learning. This method calculates the Q-value for each action and then selects the action that yields the highest Q-value. This approach uses the Bellman equation for calculating the Q-value and the neural network to find the correlation.
Another approach uses deep learning for generating the policy using the policy gradient. This method is used for continuous action-space.
We modeled a deep Q-learning agent to drive in a physics game simulator OpenDS. The agent receives a scenario message that describes the state of the car in the road. The agent selects the action in a maneuver message to control the driving. For a lane keeping task, the state reflects the distance from the side of the road, the lane heading as an angel between the car heading and the road, the curvature of the road and the steering angel.

Sunday, 3 February 2019

Part 2: Artificial cognitive systems, Machine Learning

In Part 1, we discussed the logical approach of the artificial cognitive systems. We mentioned that it is based on rules and knowledge. These rules and knowledge are pre-programmed in the system. This makes the system static and doesn't learn.
Another approach is the data-driven system, which is called machine learning. In this approach, the system gets a data set with real examples of the input and the output and the system tries to find the correlation in the data based on statistical calculations. A famous example, is a data set of house prices. In this example, each house is identified with features such as house area, number of rooms, etc. and the system tries to predict the best price for the houses. The system finds the correlation between the house features and its prices without explicitly giving it a rule or knowledge. Such a system that can adjust itself by itself based on examples, is considered a learning system.
Deep learning is a recent branch of machine learning. Deep learning is a multi-layer neural network that finds the correlation between the input and the output in a gradient descent mechanism. Deep learning has been widely used in more complex data sets such as text, images, audio and video. It went beyond classification and prediction. It has been used for interactive systems such as autonomous cars. In the autonomous car system, the driver collects sensory data such as cameras along with the action control such as the steering. After a long driving, a big driving data is collected. The data is then fed to the network to train it to predict the best action given a sensory data. After that, by deploying the network into the car with autonomous mode, the network is able to drive by itself is a similar road.
An excellent example is a tutorial by Siraj Raval about self-driving cars. Try it and enjoy!

Sunday, 27 January 2019

Part 1: Artificial cognitive systems, Logical approach

I started my PhD studies in artificial intelligence, cognitive systems and machine learning. I would like to start brief introduction into the field starting by this post.

 The artificial cognitive systems aims to study the design and modeling of artificial agents to perform intelligent tasks. The artificial cognitive systems in general are divided into two main categories; artificial intelligence and machine learning.
The first category is artificial intelligence is the logical symbolic system that is based on rules and knowledge. In this category, the system is designed according to predefined set of logical rules. The agent follows these rules until it deducts the answer. In interactive system the deduction leads to the suitable action to take.
We implemented a simple toy example using an Arduino Uno microcontroller and a motor controller to control a mini car with two 12v motors. The task is to roam around avoiding any obstacle appears in front of it. The agent uses ultrasonic sensors for distance measurements. The actions are mainly turn right, turn left and break.
The rules where simply based on the sensor readings, the car turns to the opposite direction of the sensed obstacle, but if the obstacle is covering all sensors, it breaks. The car was able to roam around in a small hall occupied with some furniture.

Although the AI category sounds cool and smart, it lacks some important capabilities. First, it is restricted with the rules and knowledge it is programmed with. For example, if the mentioned mini car is staggering and not stable, we needs to reprogram the code to add this feature. On a bigger scale this is inappropriate, because it  requires checking the details of the programs that no rules are contradicting.
Second, another drawback is the need for symbolic representation. In the mentioned example the ultrasonic sensors are straight forward representation of the distance measurements. If more complicated sensors to be added, for example a camera, objects needs to be defined and labeled to manipulate rules on them. The logical method can't operate on non symbolic representation like raw images. This example will be examined in a separate post about machine learning (Part 1).

Friday, 7 April 2017

Arab Excellence Workshop at SIP, UAEU

The Science and Innovation Park at United Arab Emirates University held a one week workshop by Mr. Hamza Chraibi from the Arab Excellence. The workshop covered different important aspects of personal life; such the vision, the goal and the inner power. Also, we learned how to analyze the strength, weakness and build upon these strengths and then how to overcome the weaknesses.  I learned from the story of Mohamed ElQahtani that nothing is impossible. A dream is a reality that is waiting to become true. However, you will face difficulties, disappointments and bad moments. Then you have two choices; either to face it or run away. If you run away, you will make it. I decided to make a meaning for my life and not just to live an ordinary life. I know it wouldn’t be easy, but I believe this worth it. How many lives do we have?
In this workshop I made my vision clearer. I want to become a professor in a high reputation university and enjoy innovation in applied research with my students. This vision is not new. I started since school when my nickname was the future scholar and inventor. I started my path by enrolling in Electrical and Electronic Engineering and specialized in Software Engineering. Another big step was joining the CubeSatellite project where I invented the nano-satellite using my Android smartphone. I continued my journey when I had my master degree in Software Engineering when I came up with smart devices for pilgrims that help them perform better with the minimum learning efforts. Also, I build a platform for drones following Cloud Computing architecture rather than the ordinary Adhoc network for vehicles.
I worked in different big and small research projects, but I realized that these and other innovative projects are just prisoned in university labs. If these projects are applied they will make a significant contribution in our society. That’s was when I decided to make an action and come up with Linovate startup. Linovate is an online platform, that helps me and other researchers who face this issue of the not applied innovation to collaborate with the suitable industry to apply this research.
The journey of making this dream become true is not easy, but I will face it because it worth it to achieve excellence. I defined my vision and I will go for it. And I just say; with passion, nothing is impossible.

Thursday, 1 December 2016

Winning the third place in Challenge for Innovation and got the seed capital

It was a great experience to participate in the Challenge for Innovation program from17th to 28th of November 2016, organized by the Science and Innovation Park at UAE University. More than 100 groups submitted their innovative ideas for startup. 35 groups were chosen to be in the competition, only 23 continued till the end of the program. Then 16 groups pitched their ideas to a panel of experts, who chose only 10 groups to be accepted in the incubator program and the first 6 teams get seed capital for the startup.
I was the team leader of my project Linovate (Link-to-Innovate) which is a platform to link academia with industry. My team consists of five members mainly from College of IT and Business. We were enrolled to 16 workshops in teamwork skills and business fundamentals. Also, they provided teams of supervisors and mentors to help in building the business plan and the pitch.
During this great experience I have learned a lot of things. One of the most important things was the Win-Win deal and focusing on the customer validation even before starting building the product. This is a key point for a successful startup. In addition, teamwork is significantly important as no single member is able to do everything. Sharing knowledge and trust build a strong team.
We won the third place in this competition and we are qualified to enter the business incubator and make our dream comes true.

Friday, 7 October 2016

Software Decoder for SRMSAT-1 Cube-Satellite beacon data of SRM University, India, 2011

It was a great memory to find the Software Decoder I developed in 2011 to decode SRMSAT-1 Cube-Satellite beacon data for SRM University, India. The software gets the received data as a text file, and then displays a readable format of the data with chart analysis.  The Software was originally developed for decoding the KNSAT-1 beacon data for University of Khartoum, then modified according to the SRMSAT-1 data. It was used in several ground stations around the world such as Japanese ground stations.