algorithms

Era of Artificial Intelligence : Facebook new algorithm to identify people

Era of Artificial Intelligence : Facebook new algorithm to identify people

Amost five years ago face recognition was a trend your mobile applications use to set ur face as password for your smartphones, Windows OS introduced face recognition to unlock the system, Facebook used face recognition for tagging people in the group photos. 

But Face recognition is now very old, technology is changing so fast that today’s technology will become out dated tomorrow. Every day something new coming to market, people are becoming more innovative than ever. Recognition ? what else can one do other than face and voice recognition ?

Identity of a person based on his unique characteristics

Every person will be having his own uniqueness in his characteristics, the way he dress, his hair style, his body shape, his standing posture what else ?. Identifying a person based on his characteristics can be achieved by properly analysing the data.

Facebook can recognise you in photos for tagging, even if you’re not looking

Facebook is experimenting on a new algorithm which can recognise a person based on his unique characteristics even though his face is not visible. Yann LeCun, head of artificial intelligence at Facebook, is leading a team of researchers. The team is analysing more than 40000 thousands photos from flickr and experimenting in the lab.

However there are certain privacy concerns raised by experts, but Facebook will surely find a way to keep things secured.

Read more about Future Technology : future-of-technology-imagine-the-future

Facebook Shows how artificial intelligence improve Facebook to show you perfect posts

Facebook has set up three AI labs so far, the company is investing enough time and effort on AI which helps Facebook to server the content that matches the people’s interest. Facebook revealed backend recognition tech in F8 conference. CTO Mike Schroepfer described new systems for identifying the content and context of videos and sentences.

Facebook working on secretly working on Language Technology Group and experimenting on recorded voices and converting it into text. It has been planned by Facebook to release the feature in Facebook messenger where it converts voice to text.

Facebook’s Video AI prototype

Facebook has developed video AI prototype that identify 485 types of sports but recognises tiny differences among games. See the video given below

AI can read sentences and determine things like who possesses what, or where is an object.

Check this experiment 🙂 AI recognises content from the Lord Of The Rings and able to answer question about the story.

Why AI Matters for Facebook ?

The one and only aim to understand the content, show the relevant content to the user. This is really very much required for Facebook like company because if some one else enter into the market with a new idea then people might start looking towards it. The only thing every one must focus on is never allow your user to think about something else.

Facebook, Google and Apple are really doing a great job in this aspect, Nokia once was a leading mobile phone manufacturers, but one product like iPhone killed Nokia. If you are an entrepreneur then you must learn a lesson out of it.

Also Read : An Interesting Article on how Facebook using aircrafts, laser beam to provide internet to remote areas on earth

Also Read : Interesting Article on How Facebook Using Artificial Intelligence, Facebook identifies you based on your hair style, your dressing, your standing posture

Also Read Windows 10 upgrade is available : See what you have to do if you can’t wait 🙂

Also Read : 8 Ways IOT will change your life .

Also Read : Is Google+ struggling ?

Think about it.

Animation and The Role of GPU – A Performance factor

Animation and The Role of GPU – A Performance factor

Just take a look into the given CSS which rotates your div by 360deg

<span style="color: #993366;">.box_rotate {
 -webkit-transform: rotate(360deg); 
 -moz-transform: rotate(360deg); 
 -ms-transform: rotate(360deg); 
 -o-transform: rotate(360deg); 
 transform: rotate(360deg);
}
</span>

Code Example – JSFiddle

Have you ever wondered what happens in your computer when we see even a simple animation?

Your computer algorithm calculates every pixel and performs CPU intensive operation over each pixel. Ok what such operations it does ?. It calculates every pixel and performs Discrete Fourier Transformation on each pixel of the image. If your image is 512X512  = 2,62,144 pixels and the algorithms operates several frames per second, like 50 frames per second which depends upon the type of hardware/algorithm being used. It operates every pixel several times per second ( like every pixel 60 times per second ) now image for an image with size 512X512 = 2,62,144pixels and each pixel operated 60 times per second this gives you unbelievably huge number.

Assume that you operated only 1 second,

2,62,144 * 60 = 1,57,28,640 times and these many times it is not just a simple operation, they may apply Fourier transformation on each pixel. 

Another important factor to note that the Image rotation, Image scaling or any graphics related operations the the matrix calculations will come into picture. The rotation matrix and the image matrix will be multiplied to get the resulting image

rotation matrix

rotation matrix

An image matrix will be a huge one, like 512 x 512 x 3 for a given 512X512 image. the 3 in matrix indicates image is RGB coloured. It is not required to explain how matrix multiplications are CPU extensive, Theoretically, matrix-matrix multiplication uses O(N^3) operations on O(N^2) data

Comparison of GPU Matrix Multiplication operation over CPU

Why GPU and Why not CPU.

GPU are specifically made for performing graphics operations like moving pixels and applying transforms. Since CPU will be doing many more tasks like file operations, audio, calculations etc it is better to separate out your animated objects and give it to a different GPU layer. Imagine in the screen of 1024X800, somewhere some 200X100 size portion is animating, rather than giving 1024X800 space and find 200×100 space and then operate , it is nice trick to create separate layer of 200×100 space and perform animation independently in that layer.

So the load on your CPU will be reduced and the performance of the system will be improved. The difference between CSS3 and jquery animations are , CSS3 utilises GPU but jquery doesn’t, there another javascript based latest framework available called GSAP which is 20x faster than query. 

 

Comparison of jquery, CSS and GSAP Animation Performance :

http://codepen.io/GreenSock/pen/srfxA

Check our another article – how-to-make-you-web-site-faster-html-javascript-tricks

Reference : https://css-tricks.com/myth-busting-css-animations-vs-javascript/

Algorithm Efficiency : Merge sort vs Insertion sort

Algorithm Efficiency : Merge sort vs Insertion sort

Importance of Algorithm Efficiency :

Let us learn how an algorithm efficiency matters a lot ? We will analyse this by taking some interesting experiment as an example. Before that let us know what are the efficiencies of both the algorithm

Insertion sort :

 The average and worst case efficiency of merge sort is (C1) O(n2)

Merge Sort :

 The average and worst case efficiency of merge sort is (C2) O(nlog(n)) 

But let us analyse the efficiency with an experiment :

Experiment :

Let us take a faster computer , Computer A running insertion sort and a slower computer running merge sort.

They each must sort an array of one million numbers. Considering the following factors

  • Computer A executes one billion instructions per second
  • Computer B executes ten million instructions per second
  • Computer A is 100 times faster than Computer B in raw computing power
  • To make the difference even more dramatic , suppose that the world’s craftiest programmer writes insertion sort in machine level language for Computer A and resulting code requires 2n2 instructions to sort n numbers ( 2 is constant c1)
  • Merge sort  will be developed by an average programmer using high-level language with an efficient compiler with a resulting code 50nlog(n) instructions ( 50 is constant c2)

With the above assumptions , to sort one million numbers

Time taken by Insertion Sort in Computer A ( Faster computer ) :
( 2 X (106)2 Instructions ) / 109 instructions/second = 2000 seconds,

Time taken by Merge Sort in Computer B ( Slower Computer ) :
(50 X 106 lg(106) Instructions) / 107 instructions/second = 100 seconds,
This experiment shows even with slower computer (100 times slower) the best algorithm gives best result compared to faster computer running less efficient algorithm.

Computer B runs 20 times faster than Computer A, even though Computer A is 100 times faster than Computer B.

This proves that even though the underlying hardware is low end, an efficient algorithm performs much better, one very good example for this is Android vs iOS 🙂

Even though android smart phones are very high end , very good RAM and processor, they perform less compared to iPhone which has less RAM and less speed processor
Reference : Introduction to algorithms by Thomas H. Cormen 
http://www.flipkart.com/introduction-algorithms-english-3rd/p/itmdwxyrafdburzg