Thursday, September 28, 2017

XAI - or explainable AI - a new buzz word


XAI or eXplainable AI, that's the new way of DARPA for addressing the problem that intelligence is about understanding, analysis, causality, prediction/planning etc.

https://www.darpa.mil/program/explainable-artificial-intelligence

That reflects or goes along with political tendencies which would limit the usage of CNN/RNN/Deep Learning systems when they can't give "reasonable" explanation of their decisions, for example in an automatic selection process.


That article gives more info about the new laws: 
http://www.kdnuggets.com/2017/08/deep-learning-not-ai-future.html


The political part is silly, though, for example with its advocacy that the lawyers are the ultimate gods of the Unvierse or the "good and evil" examples. :) 

Humans are also susceptible to the same faults of choosing the prevailing opinion of "supervised learning" (authorities) and "reinforcement learning" (rewards and punishments to direct opinions and decisions).



*

ОИИ - ой-ой-и--... Обясним изкуствен интелект - нова дума за това което ИИ би трябвало винаги да бъде, когато се изгражда на етапи и с осъзнаване и език.

Досега - универсален изкуствен разум - УИР, УИИ, AGI, ...

Wednesday, September 27, 2017

Python thread "daemon" property may hang your console

A little discovery, while playing with some of Adrian's tutorials at Pyimagesearch involving a threaded web camera sampling.

It seems that a thread shouldn't be declared as a "daemon", because after the script ends, a zombie  hangs the console where the Python process is executed.

That's the specific example which was debugged:

From : https://github.com/jrosebr1/imutils/blob/master/imutils/video/webcamvideostream.py

from threading import Thread ...

def start(self):
# start the thread to read frames from the video stream
t = Thread(target=self.update, args=())

t.daemon = False #was True

t.start()
return self


The problem may be platform specific for Windows 10 + Python 3.6.1 (my environment), because other users haven't reported such misbehavior.

Wednesday, September 20, 2017

Deep Learning tutorials, demos and study materials - CNN, RNN, OpenCV, Python


Sure, there's plenty of them which pop in the search results, but there you are some materials which I would suggest:

1. How Deep Neural Networks Work

https://www.youtube.com/watch?v=ILsA4nyG7I0


2. How Convolutional Neural Networks work

https://www.youtube.com/watch?v=FmpDIaiMIeA


Etc. from the same author.


Pyimagesearch

Check the latest posts in the Pyimagesearch blog for Computer vision. Using the latest OpenCV 3.3 there are powerful modules which allow to start playing with trained neural networks after a few minutes (in Python):

http://www.pyimagesearch.com/2017/08/21/deep-learning-with-opencv/


http://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and-opencv/

Object detection with deep learning and OpenCV - PyImageSearch
Learn how to apply object detection using deep learning, Python, and OpenCV with pre-trained Convolutional Neural Networks.


Etc.


JS/webGL library suggested in Google's Research blog

I'm not a proponent of JS as a working environment, but using webGL this project is very convenient for an introduction.

https://pair-code.github.io/deeplearnjs/

It allows you to peek into the layers and see what the data looks like.