Blog of the Center for Intelligent Technologies (http://www.ai-cit.sk), a laboratory of Dpt. of Cybernetics & Artificial Intelligence at the Technical University of Kosice in Slovakia, focused on artificial intelligence and its application in robotics. Nowadays, we develop intelligent approaches for cloud robotics and human-robot interaction.
Recent ZDnet article: The 'software robots' changing outsourcing: 'Up to 60 percent of the tasks can be automated' is dedicated to the problem of software robots.
Romanian startup UiPath is creating “robots” for desktop automation, it is automation of repetitive office computer work. Their name UiPath is similar to the XPath language for addressing elements of webpage, so it suggests ability to address elements of desktop user interface with similar ease. This task can be achieved:
by accessing, organizing and exporting desktop through underlying graphical toolkits/libraries,
or it can be achieved using robust (but hard) image processing approach.
Desktop automation can be extended to reach phone calls or other devices.
Automation can be achieved:
programmaticaly using API for access to the desktop,
by copying exactly what is user doing,
or, we suggest, by learning from user sessions.
ZDnet thinks that software robots bussines will reach $5mld in 2020. Institute for robotic process automation which covers the software robots domain suggests that using software robots can reduce costs by 50% compare to offshore employees. Also, it can increase speed of processing, reliability, and 24/7/365 availability. And, many tasks can be automated from now on...
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
This weekend I wrote short script for optimizing LaTeX console output.
I did a lot of TeX-ing in last week, so I was thinking about optimizing my TeX-ing environment. LaTeX console output is quite difficult to follow. But, maybe, it is not so difficult to write a filter to improve it.
The script is just pure perl code, so it should work everywhere. I am not sure about terminal colors escape sequences, whether they will work on your particular terminal. I do use rxvt terminal. Anyway, color escape sequences are on top of the script, commented, so it should be easy to change them if they don’t produce nice colors. Default colors are set for the dark background terminal, for white background they need to be changed.
Recently I've been to the Central European Student and Young Professionals Congress (IEEE) in Zagreb.
It is a continuation of the Central European Student Branch Congress and as such it is an event during which student branch members (and Young Professional members) meet for workshops and social events.
This years event was held in Zagreb and included participants from Croatia, Poland, Sweden, Czech Republic, Slovakia, Slovenia, Greece and more.
The programme included a city tour, Gala dinner, Multicultural evening, SB and YP poster session, various workshops and plenary sessions.
The plenary sessions were largely about student branches and societies and the way they are organized within the IEEE. To summarize IEEE is organized both geographically and by area of interest. The former means a structure into Regions then Sections and Subsections and finally Student branches. The latter means an organization into Societies and then into Student Branch Chapters.
My impressions of the congress are very positive. The workshops were interesting and I got to meet various interesting people during the social events. I specially enjoyed the multicultural evening. I also exchanged plenty of contacts and would recommend this congress to anyone who has the opportunity.
The other day I read a blog written by Mari explaining what we do with those many robots. After reading this blog, I started to think that we have 21 robot units, and we have enormous potential. But why we do that?
Because we earn Ph.D., MSc. or assistant professor, associate professor or professor title? Or for money? I believe NO – we have not high salaries and if I am a professor or not it is really not so big deal. I am proud to obtained titles (prof. , Ph.D. etc.) but they are only a TOOL. An instrument to be curious. So WHY we do it with robots? Because we are curious. Curiosity is absolutely important to be a researcher. Some people are medical doctors, fitness coaches, pilots, manual workers – we are researchers.
So if you are CURIOUS – think to be a RESEARCHER!
So giving you answer Why we do – what we do @ CIT
I rather ask you to create answers on the following questions, which I divided in 3 types, as follows:
Social
Scientific
Technological
Examples of social questions that have impact to all the people on this planet:
Will be robots in our society e.g., 20 years to come?
If yes, where and what abilities should they have?
If no – Are you serious?
Will robots change our lives? Will robots take jobs from humans or help them?
Examples of scientific questions:
How will we able to make a machine able to recognize objects like humans?
Will the robots learn?
Will each robot have its own isolated software or connected integrated Cloud Based system?
How can we achieve easier communication between humans and robots?
Will be there something like a Robot Ready Environment?
How will robots show emotions for Humans – will that be important?
Examples of technological questions :
What will be the difference between a mobile phone and a robot?
Can the cloud computing help to robots?
Will there be a framework for robots like Orange, O2 , Verizon or Softbank?
Will robots have legs or wheels?
Does a design of robots has an influence on Human Robot communication?
How will the energy issue be solved?
I know MANY QUESTIONS… :)
So why we do – What we do with those ROBOTS @ CIT? Simply we are searching answers for above questions. And it is VERY EXCITING!
“...I was fascinated by possibilities of computers to simulate intelligent properties of humans”
Good sunny morning dear followers,
let me introduce one of the last core researchers of our center, assoc. Kristina Machova. Please enjoy her answer on traditional self-introduction questions.
Q: Why are you at academia?
A: I am happy to be at academia. There are two main job types: teaching and researching. Both of them are interesting for me. I like to teach something after I have learned and comprehended it. I like to search an appropriate way how to describe knowledge to be understandable for students. I like to compose examples and tasks for students. And I like students because of their youth, enthusiasm, intelligence, free thinking and sense of humour. With regard to research, I love the process of problem formulation and finding methods for its solution or designing new approaches - all in the discussion with my students and my colleagues from our department. I love also to join conferences and to discuss with foreign people of the same professional interests like me but with different thinking and different opinions on the discussed problems.
Q: What is your domain and why are you interested in that domain.
A: I am interested in the following domains, ordered from the most actual to the very first in my professional career: mining within conversational content – the dictionary approach and the machine learning approach to the sentiment analysis with focus on the opinion and emotion classification for an application in robotics, semantic web technologies and intelligent searching of the Internet, text document processing in the information retrieval using classification and clustering machine learning methods, theoretical and practical aspects of the machine learning including bagging and boosting methods, knowledge-based systems and artificial intelligence. Why? After my joining the Department of Cybernetics and Artificial Intelligence, I was attracted mainly by artificial intelligence because I was fascinated by possibilities of computers to simulate intelligent properties of humans. Within the field of artificial intelligence, I concentrated my attention on knowledge-based systems, which use algorithms for the automatic generation of knowledge bases. It has me led to machine learning algorithms. I love to work with these clever algorithms, to modify, design or select them for some real problems. And one of such problems is emotion and opinion identification within the social media conversational content – my actual domain.
More information about assoc. prof. Machova can be found on her website.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
“Artificial intelligence is a bridge between the technical and natural worlds...”
If should I gave an adjective for today, it probably will be fruitful Tuesday. Why fruitful? It is a simple - because a bag with interesting new posts was torn.
Here we provide one more introduction post of our colleague, Jan Vascak.
Traditionally, he answered two simple questions. Enjoy his answers.
Q: Why are you at academia?
Because I am a curious person and I want always to know something novel. I like if I can discover and understand something and academia offers still enough freedom for studying and exploring fields, which are for me interesting for any reason.
Q: What is your domain and why are you interested in that domain.
I am not a typical technician. I liked studying many natural, as well as social disciplines. Artificial intelligence is a bridge between the technical and natural worlds and I can find anything from them both. My special area, which has guided me my whole professional life, is fuzzy logic and everything connected with fuzzy. So it is a quite broad area, where I am interested in self-learning methods from the theoretical point of view and from the practical one there is robotics and in its frame mainly decision processes and navigation in intelligent space.
More information about Jan Vascak could be found on his website: http://www.ai-cit.sk/People/JanVascak
“Interaction with young people is great – they are so enthusiastic, unorthodox and free thinking.”
A week ago we started new kind of posts, in which we introduce world-class researchers. Today we will switch for a while to an introduction of Slovakia’s scientists and will present CIT’s research staff.
The same question as in a previous post was asked. So, sit down, relax and enjoy the answers.
Q: Why are you at academia?
A: I have been attracted to academia by three main reasons – each of them prevailing in a different part of my academic career. Having finished my formal university education, I met a bunch of people who clearly cannot be overlooked in a crowd. They were so smart, bright and open-minded. It was a pleasure to communicate and collaborate with them. And you can guess – yes, they were academics. When I had enough experience to be able to compare different kinds of jobs, I acquired belief that academia is the best place for curious people. It is like a fire hose from which you can drink – new knowledge of course. And what is best is that you are in a driver's seat of your learning ride. And being a bit older, I came to a conclusion, like many people before me, that giving is at least so important than obtaining. Academia enables you to interact with young people, possibly to provide them with the best extract of knowledge and experience you accumulated during your career. Interaction with young people is great – they are so enthusiastic, unorthodox and free thinking. Being with them on the same deck is real fun.
Q: What is your domain and why are you interested in that domain.
A: One domain is probably too narrow to let person's imagination free flight without restricting his curiosity to a limited scope. At least it holds in my case. I believe that flowing through several domains can be a quite thrilling journey and I have been often fascinated how the knowledge obtained in one domain can be transferred and applied within another domain. If I should somehow describe my interests on a more global level in order for them to provide an impression of one coherent domain, then my domain is solving problems in a handy and non-traditional (often called intelligent) way. Although the word 'non-traditional' is not fully applicable – one approach to solving problems is to emulate principles and procedures devised by Mother Nature. Evolutionary and other nature-based algorithms take their inspiration from existing real biological or physical processes to extract an explicit driving force to build a structure or a behavior. On the other end of spectrum is an ambition to frame solving procedures into a formal system operating on knowledge represented in a formal symbolic way (being it rules, constraints, predicates, graph models, semantic primitives, etc.). Logic-based approach tries to embody a concept of 'right' (or better rational) reasoning as an effective symbolic manipulation producing desirable structures and behavior. There are many approaches to solving problems – and I hope I will be lucky to research many of them.
More information about associate professor Marian Mach could be found on his website: http://people.tuke.sk/marian.mach/
By weekend I wrote short script for drawing neural networks.
by Rudo
I had such a thing in 90-s using angela software for graph drawing, but it’s not working anymore. So, I did look for something to quickly draw NN int .pdf. As I cannot find anything, I wrote this graphviz based script. Here is sample output:
This is output of the command:
annviz -ll -nl 4 6 3 2
it means topology is 4-6-3-2 and add the layer labels and node labels. You can download the script from:
neuron.tuke.sk/jaksa/neural/annviz.0.1.tar.bz2
It needs graphviz, imagemagick (or feh) and perl to have installed. When run, it wrote location of the .dot file and .png file to the console, plus the commands it calls. So, you can manually edit the .dot file and rerun graphviz. It’s also possible to produce the .pdf file, or .svg file and edit it in inkscape.
Most of the past initiatives in distributed pattern recognition (DPR) have focused on providing a distributed architecture for pattern recognition. The problem with this approach is the high dependency on hardware...
by Tomas
There were attempts to create a hardware independent implementation of the distributed pattern recognition, but this was fully realized. The problem is the complexity of the pattern recognition algorithms. This blog will describe the important characteristics and aspects of DPR and it is a summary of the second chapter of the book internet-scale pattern recognition.
Scalability of neural network approaches
Scalability can be achieved using a distributed approach. There are two important factors related to scalability: storage capacity and inter-neuron communication frequency.
• Storage capacity – a baseline evaluation of storage capacity is based on how the increased number of patterns affects a given network.
• Inter-neuron communication frequency – it is related to the number of messages projected by a single neuron towards other neurons in the network. Problem is that the actual implementations of the neural networks have a high communication frequency which limits the scalability of the recognition implementation. It is important to keep the communication frequency as low as possible if the network should be scalable.
Key components of DPR
There are three main key components of a scalable distributed pattern recognition scheme: learning algorithms, the process approach, and the training procedure.
• Learning mechanism – there are three main learning mechanisms mentioned according to DPR. First one is the Hebbian learning. The potential for saturation and catastrophic forgetting make this technique less scalable. The next two learning mechanisms are incremental learning and one-shot learning. In incremental learning training data are divided into separated subset. Each data subset individually undergoes a training phase. One-shot learning is a method which learns in one cycle.
• Processing approach – Distributing the input space within a pattern recognition algorithm improves the processing speed. According to Amdahls law, when a higher fraction of the task can be parallelized, parallel processing can achieve the maximum speed.
• Training procedure – It allows the algorithm to learn from a sample data set before it will be used for recognition. The graph neuron was mentioned which is a single-cycle training method.
System approaches
There were two types of distribution approaches described. The first one was process farming. In this method there are copies of the pattern recognition algorithm. Each one uses for training different subset of the training set. But the weight changes and errors are sent to the master node. This approach is showed in the next figure.
The second approach is called pipelining. In this method, the weights and error changes are passed from one process to another. This approach is showed in the next figure.
Pattern distribution techniques
There are two pattern distribution techniques: Subpattern distribution and set distribution.
• Subpattern distribution: each pattern is partitioned into subpatterns for recognition over the entire network.
• Set distribution: A pattern set containing a number of patterns is distributed for recognition.
This two methods are showed in the next figure.
Conclusions
This blog showed the main features related to the distributed pattern recognition. It describes the two most important factors according to the scalability of neural network approaches, key components of DPR, system approaches for DPR and pattern distribution techniques. It was based on the second chapter of the book internet-scale pattern recognition.
in this short post, we introduce new kind of posts on our (hopefully also on your) favorite blog. We will continually present world-class researchers in the field of AI and their opinions on common and research problems.
Today we asked professor Pitoyo Hartono from Chukyo University in Japan, two simple questions. His answers are here:
Q: Why are you at academia?
A: The primary reason is that I like to learn. It brings me happiness if I understand something that I initially didn’t, and this can be achieved only through learning. No matter what profession you choose, there will be learning experiences. However, no place aside from academia offers you an almost limitless freedom to learn. For me, academia is like a sanctuary for learning in this profit-oriented world. Also in academia I don’t have to learn alone. I can exchange and share ideas and learning experiences with students and colleagues. The diversity of free-thinking people in academia is also one of its greatest appeals for me to stay in.
Q: What is your domain and why are you interested in that domain.
A: I am interested in many domains like physics, zoology, archeology and history, and I don’t really like to rigidly define my research domain, because I feel that it will somehow limit my view. But realistically I have to focus on one research domain at a time. Currently, my domain is Computational Intelligence, a field of study in which the objective is to understand intelligence through computational principals. I have chosen this domain because intelligence (not necessarily human’s) always fascinates me. I would like to understand many aspects of intelligence, like how it emerges, what kind of organization is inherently formed to support intelligent behaviors, and the similarities and dissimilarities between natural and artificial intelligence. There are many approaches to understand intelligence, but I have chosen one that allows me to apply computational principals to build intelligence, and hopefully during the process I acquire some insights that bring me closer to understand intelligence.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
By intelligent space (IS) we understand environments with embedded systems, information and communication technologies that create an interactive environment. The purpose of intelligent space is to combine computational technologies to ease or enhance the activities that take place in them.
by Jakub
This requires a combination of sensors and actuators. In the context of robotics actuators are provided by a robot or robots while the space itself provides them with additional information from the sensors embedded in the environment that would otherwise be difficult or impossible to obtain.
Cameras
Since vision is one of our primary senses, understanding and working with visual data is very intuitive for us. Therefore even intelligent spaces that do not rely primarily on vision tend to use it to some degree. In the case that an intelligent space does primarily utilize vision a wide variety of information can be collected from vision alone.
One such example is the intelligent space described in Intelligent Space for Human Centered Robotics.
Intelligent devices are distributed throughout the whole of the space. These intelligent devices have sensing, processing and networking functions, and are referred to as distributed intelligent networked devices (DINDs). One DIND consists of a CCD camera for acquiring space information, and a processing computer which has the functions of data processing and network interfacing. These devices observe the positions and behavior of both humans and robots coexisting in the intelligent space forming a multiple camera multiple object tracking system.
Spatial sensors
By spatial sensors we generally understand active sensors such as laser range-finder or Kinect sensors. Their advantage over cameras is that they automatically acquire spatial depth information without having to use complicated image processing algorithms.
Such example is described in Acting in Intelligent Space. Here distributed laser range finders were used to map the environment.
The acquired information was then processed clustering and data association algorithms and further with Kalman filter to track objects and people in the intelligent space. This way a robot was able to path its way between the obstacles towards a human user.
RFID
Radio-frequency identification (RFID) uses electromagnetic fields to automatically identify and track special tags. Such system consists of an active sensor (reader) and a passive chip (tag).
In Building an Intelligent Home Space for Service Robot RFID tags were distributed across the intelligent space. By reading these tags a robot was able to determine its position in intelligent space.
Other sensors
Although previously mentioned sensors tend to be more common, there are no restrictions on what kinds of sensors an intelligent space can use.
For example chapter five of Human Robot Interaction in Social Robotics describes the use of floor sensors to track multiple people in a crowd. Combined with the aforementioned RFID technology, movements of specific people could be tracked.
Conclusion
There are no set when deciding what sort of sensors should an intelligent space utilize. Specific technologies should be chosen based on the location and intended function of the intelligent space.
In some literature, the human-robot interaction(HRI) is viewed as a special subfield of the wide area of Human-Computer Interaction(HCI) but the differences between a robot and a conventional computer define new research questions. However, the field of HCI influences the HRI in several aspects. The term HCI was firstly used in 1976 and 1980, popularized by Card, Moran, and Newell in their seminal 1983 book, The Psychology of Human-Computer Interaction.
Fig. HCI and its some of the scientific fields that have influenced the HCI by Mari
Watch this TED talk:
Human-Centered Design and Subjectivity
From the perspective of human-centered robotics, robots need to react appropriately to human expectations and behaviour. There are many „pieces of puzzle“ needed to achieve this goal: improving gesture communication, natural language communication, perceiving emotions, letting machines to express their artificial emotions, establishing social relationships, exhibition of different personalities and characters or recognition of interaction partner. Computer science and robotics use techniques which have been developed through objectivism. The domain of HRI is different as in this case machines are not only evaluated by objective measures, but also subjectively. This phenomenon as a specific research phase represents a new stage of computing based on the subjectivity in the human perceptual process.
The subjectivity in the design of HRI system is connected to several points. How should social robotic companions behave? How can a robot recognize user´s emotions and adapt to them? How users want robots to express themselves for natural human-robot communication?
This „subjectivity“ in Human-Centred Designed is called usability and was defined by the international standard ISO 9241-11 as: the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use.
The newer standard, ISO 9241-210:2010 under the Ergonomics of human-system interaction – as a part Part 210: Human-centred design for interactive systems provides requirements and recommendations for human-centred design principles and activities throughout the life cycle of computer-based interactive systems. It is intended to be used by those managing design processes, and is concerned with ways in which both hardware and software components of interactive systems can enhance human–system interaction.
Fig. Human-Centered Design by Mari
To watch
KANSEI
In the field of robotics, the Japanese KANSEI concept is essential to model a natural communication, in which emotions play a vital role. One aspect of the Kansei interaction is so-called a sense of unity which means that people during their mutual interaction are conscious of other's feeling, and they enjoy such communication. It includes the abilities to perform an evaluation based on personal taste and feeling, and to solve problems not possible with conventional logic processes and quantitative information. It stands for a Japanese word that is loosely equivalent to a feeling or emotional response to stimuli, which can be sight, smell, hearing, touch, taste or recognition - sensibility.
Fig. KANSEI value of products by Mari. Above: conventional value axis, user purchases the product by checking its function and price, below: New Value Axis, a manufacturer, appeals to emotions and user empathize with emotions (inspired by the Kansei Value Creation Museum in Kobe).
To read:
Levy, Pierre. "Beyond Kansei engineering: The emancipation of Kansei design."
Kato, Toshikazu. "Kansei Robotics: Bridging Human Beings and Electronic Gadgets through Kansei Engineering."
Hirota, Kaoru, and Fangyan Dong. "Kansei information in humans-robots interaction."
To watch
That’s all folks. Let’ s make cool programs for robots!
... I will talk about cloud robotics and AI (artificial intelligence) bricks concept, suitable for modular programming in the field of cloud robotics.
It is mentioned in the blog description on the right side of this site, that research in the Center of intelligent technologies (CIT) is split into the two major streams. First of them is robotic emotions. Basically, it isn't the field, which I am involved in. The second one is cloud robotics. This is my favorite subfield in the artificial intelligence and robotics. Therefore, it is not surprise, that in this blog post, I will talk about cloud robotics and AI (artificial intelligence) bricks concept, suitable for modular programming in the field of cloud robotics.
The influence of cloud technology in robotics
Rapid expansion of cloud technologies along with increasing speed of the Internet and spreading relatively cheap smart devices and sensors have created an environment for developing modern cloud-based applications. These applications are usable not only by humans, but also by smart agents like a robots, smartphones, smart vehicles, sensors etc. The idea of harnessing cloud technologies and its benefits for smart devices (agents/robots) has arose in 2010, when James Kuffner named it - CLOUD ROBOTICS and formulated a definition.
Cloud robotics is a new developing approach in robotics, which massively use cloud services, cloud data storages and other internet technologies. These internet technologies allows massively usage of parallel computation and sharing huge amount of data. Main goal of cloud robotics is development of infrastructure for robots, which allows communication between robots, recording, uploading, sharing and downloading knowledge and also solving particular task in the cloud environment.
Using cloud technologies in robotics allows migrate computational difficult tasks from the robot’s on-board computing to the cloud environment. So the entire computation is performed on the cloud site. The only one requirement for secure that, is the fully function Internet connection for robots.
By connecting robots to cloud environment and allowing use them cloud services, is possible extend their capabilities. From that point of view, smart agent is not more limited by own computational performance or by memory capacity. However, there are still task, which cannot be migrate to the cloud. These critical task must be executed in real time. For instance obstacle avoidance, robot’s movement, stability etc.
Although cloud robotics is relatively young field, till now was finished various successful projects, which could be found on the Internet. We can mention project DAvinCi, cloud-based project for robot navigation in the unknown environment and object grasping using Google object recognition engine or project RoboEarth.
AI bricks concept
In my research I am focusing on cloud robotics. Mainly I am working on so called AI bricks. In my research each AI brick is considered as a software module (library) deployed in the cloud environment. Each AI brick should be responsible for solving one particular specific task. For instance AI brick, which implements backpropagation learning for feed-forward neural networks, or AI brick for clustering, image processing etc. Since we want use advantages of cloud computing in robotics, many of AI bricks implements methods suitably for robots.
If the AI bricks should be programmed in conformity of cloud computing principles, must fulfill following requirements:
1. Each AI brick has to be implemented either as a software library attached to cloud service or as stand-alone worker role. Note: In Microsoft Azure cloud is worker role equivalent to back office.
2. Each AI brick has to completely solve its task. Task can solve itself or can collaborate with other AI bricks.
3. Each AI brick should have capability to communicate with others AI bricks or programs. It means that AI brick should be able receive inputs from others AI bricks/programs and send them outputs.
4. Each AI brick must have exactly defined desired inputs and outputs.
5. Each AI brick must be scalable. This requirement means that program should be implemented the way to run multiple instances on different virtual machines or use multiple threads running on various CPU cores.
6. Data stored in cloud storages must be synchronized between instances of the same AI brick deployed on different virtual servers.
It is necessary emphasize that AI brick concept creates a structure of software libraries or cloud worker roles deployed in cloud environment. If AI brick is implement as a software library, should be attached to every new cloud service, which uses function of AI brick. (See Fig. 1)
Fig. 1. AI bricks implemented like a set of software libraries with an example of attaching to new program.
In the case of AI brick is implemented like a cloud worker role, must be referenced in every cloud service, which uses functions of AI brick. (See Fig. 2)
Fig. 2. AI bricks implemented like a set worker roles (wr) in the cloud service. Figure shows example of communication between agents and cloud services, between cloud services and AI bricks implemented as a worker roles and between AI bricks.
New cloud service usually implements more complex program, which uses functions and task’s solutions provided by referenced AI bricks. New cloud service tends to support communication between implemented AI bricks and connected smart agents. (See “PROGRAM” block in Fig. 1 or “Cloud service program” blocks in Fig. 2)
Implementation of AI bricks
In last few days we tested both mentioned methods for implementing AI bricks. Very straightforward approach is implementation as a software library and attach them into the every new cloud service which will use the library's functions. We see disadvantage in the case that our new cloud service use the only one function from the library, the entire library must be attached. Moreover, this way we are creating many copies of the same library in the cloud environment, used every time only by one cloud service.
The second method seems to be more convenient. However, implementation of cloud services as a library is much difficult. The biggest problem is securing proper communication cloud services, proper addressing of function in the cloud library and also parameter passing to the function in another cloud service.
Communication can be secured using Simple Object Access Protocol (SOAP) protocol, REST API, Windows Communication Foundation (WCF), Service Bus or simply by using cloud data storage – queue storage and cloud tables. We tested two communication means. In our experiments we proved that building communication between cloud services using queue storage and cloud tables is possible, but is not very comfortable for programming and maintaining. More suitable is harnessing service bus technology, which is easier for implementation and more straight for maintaining. In contrast to the first mentioned method, we are able to deploy every library only once as a cloud service. Also these deployed services could be harnessing by many other services and applications.
Why I do NOT believe in Error Backpropagation Neural Networks for Real World Data Classification and in Intelligent Robotics?
This small note gives an opinion about neural network tools as classification mapping machines.
by Prof. Sincak
The mapping is from the feature space into the class space. In my opinion, Error Back-propagation neural networks are not able to calculate complex discrimination hyperplanes in feature space, especially in case if a class consists of more than one cluster in feature space. Therefore, I advocate for ART-like neural networks that have a different approach to feature space segmentation into class space. My standpoints are provided with questions and answers regarding the topic.
Question #1: What are we doing when we are training feedforward neural network with error backpropagation adaptation rule on a classification task and the training set consists of inputs and outputs?
Answer: Neural network calculates a discrimination hyperplane based on data. Sometimes the hyperplane is very complicated, and the calculation of the hyperplane equation is a time-consuming procedure. The following figure represents a simple two-dimensional feature space and two classes organized in two clusters each class – blue and red class. Green is a possible discrimination hyperplane.
Question #2: What are we doing when we are training an ART-like neural network on a classification task and the training set consists of inputs and outputs?
Answer: ART-like neural networks are discovering clusters in the feature space, while the cluster identification is computationally totally different procedure compared to the calculation of the equation related to discrimination hyperplanes. The difference of this procedure is visible on the following figure. Please compare it with the previous one representing a feedforward neural network with Error Backpropagation adaptation approach. Make an opinion if the equation is less complicated and easier to compute.
Question #3: What if we have created a functional classification machine based on feedforward neural network with Error Backpropagation adaptation rule and we decide to add one more class to the classification? How can we solve this problem using feedforward Error Backpropagation?
Answer: In this case we need to recalculate the new situation from scratch. This approach confirms that these neural networks are incapable of incremental learning. This recalculation can sometimes be, depending on data, very complicated. In fact, we have to calculate a union of discrimination functions including a new one for the yellow class.
Question #4: What if we have created a functional classification machine based on ART-like neural networks and we decide to add one more class to the classification? How can we solve this problem using ART-like neural network?
Answer: In this case, the situation is rather simpler compared to the above mentioned approach using a feedforward neural network. We retain the previously computed clusters, and we only add one more cluster of a new class (if the class consists of one cluster). The calculation of this new cluster is not as complex as in the previous situation. The approach confirms the ability of incremental learning of ART neural networks. Moreover, it represents a more sophisticated approach for feature space segmentation. The segmentation procedure represents a classification machine with the ability to learn incrementally.
Question #5: What is the more suitable tool for creating a classification machine in hyper-dimensional feature space?
Answer: Since we are not able to analyze if the classes are mono-cluster or multicluster in feature space, I strongly believe that for classification tasks ART-like neural networks are more suitable. The ability to incrementally learn in ART-like neural networks gives them an advantage over the feedforward neural networks.
Question #6: Deep learning neural networks are very popular today . Sometimes this approach is connected to feedforward neural networks with Error Backpropagation. Is it true?
Answer: No, it is not true. The predecessors of Deep Learning are Convolutional neural networks. These are hierarchical neural networks that consist at least of two parts – feature space transformation with feature extraction (creation of new feature space) and classification. The main feature of the classification is input labeling. The incremental learning ability of Deep learning is not obvious. In case we want to achieve it, we need to replace the second part of Deep learning with an ART-like neural network (that is not very common). A more common solution is replacing the second part of Deep Learning with Support Vector Machines for classification procedures - hence it still does not solve the incremental aspect of classification.
Question #7: If so, where is incremental learning so important?
Answer: A good example is robotics. It seems that in social learning where humans interact with robots, a so-called “deictic learning” related to deictic gestures is essential. In this approach, a human is pointing to different objects and the robot is gradually acquiring knowledge of new objects, situations, procedures, etc. If we assume that some group of robots interacting with different people can share and build a common knowledge base, then we can create fast and incrementally growing shared knowledge for robots.
Question #8: What are the most important challenges in pattern recognition and its application in intelligent robotics?
Answer: There are many interesting challenges in pattern recognition and mainly in connection with intelligent robotics. I think that the main issue and the biggest challenge is to solve the following problem - How to work in a dynamical feature space?
Working in a static feature space is rather a big obstacle, and humans are working in dynamical feature space. If we were able to solve this problem, the classification procedure would be more straightforward and simpler.
Question #9: What is the future of Cloud Robotics and off-board Computing for Intelligent Robotics?
Answer: I think that Cloud Computing has superb features for Intelligent Robotics. We are living on the edge of introducing 5G Wireless Networks and now in 4G we achieve approx. 35 Mbit/s data transfer rate which is sufficient for most data transfers. So in Intelligent Robotics we are heading towards BIG DATA and a software agent will be doing its job for various social robots. Certainly some computations will be on board such as procedures that are required to operate in super real time or motion. Cloud Robotics is also important for crowdsourcing and knowledge sharing. We do not have any clue how knowledge for robots will be stored and how different types of robots with different capabilities will handle the obtained knowledge.
Question #10: What is the importance of intelligent space and will we have a robot ready environment?
Answer : I definitely think that Intelligent Space is extremely important for robots. There is a notion called “Networked Robots” for robots that use external sensors to make a decision. The sensors are NOT only on the Robot but also off-board, even they can be connected to the Internet. So I believe that we can expect a large revolution in robotics towards the internet of things, BIG Data, and Cloud Collective Intelligence. All these aspects are totally unknown, and humans must face these challenges for their benefit and the benefit of all mankind.
Dáta su usporiadané v priečinkoch. Ak je zoskúpenie napríklad pohyb a mp3, ktoré patria k sebe, tak sú uložené v jednom priečinku. Tento prístup je jednoduchý na realizáciu a manipuláciu a je výhodny, ak nie je potrebné spracovávať veľké množstvo dát. V opačnom prípade je výhodnejšie použiť cloudové úložisko.
Môžu sa využiť dva prístupy:
One drive (existuje API na manipuláciu)
Virtuálny disk (posielať a sťahovať dáta cez FTP)
Cloudové úložisko
Pri použiti cloudového úložiska sú 3 alternatívy:
Priamo sa cez aplikáciu pripájať na storage (aplikácia musí obsahovať connection string)
Serializovať dáta a potom ich posielať napríklad pomocou post metódy
Použitie upload metódy odkazujúcej sa na WebAPI (odpadá nutnosť serializácie)
Prvý spôsob je nepraktický práve kôli nutnosti zadať connection string ako parameter funkcie v kóde. Druhá metóda môže byť nepraktická kôli serializácií, ktorá zaberá istý čas (je nutnosť deserializovať na cloude).
Tretia metóda je výhodna z hľadiska toho, že vieme priamo poslať súbor, alebo pole bytov reprezentujúce daný súbor a na cloude priamo uložiť pole bytov do blobu (na túto metódu som natrafil až teraz). Rovnako sa da posielať skupina dát napr. pohyb + mp3. Jedine čo treba je oba súbory zmeniť na pole bytov a následne na reťazec (dva riadky kódu). Potom stačí poslať tieto dáta vo forme Dictionary (kombinácie kľúč <-> hodnota). Do kľúča sa môže zakódovať info o súbore.
Keby sme použili cloudové úložisko, každý súbor by bol uložený v jednom blobe. Vytvorila by sa aj tabuľka, ktorá by určovala, ktoré súbory spolu patria. Keď by dochádzalo k vyhľadávaniu, vyhľadávalo by sa práve na základe tejto tabuľky.
Záver
Použiť prvý spôsob má najmä výhodu v transparentnosti. Pri druhom spôsobe je potrebné vytvoriť browser pre prehľadávanie medzi dátami. Je však pravdepodobné, že v budúcnosti budeme musieť prejsť na ukladanie dát do cloudového úložiska. Je na zvážení, či by sme nemali rovno použiť úložisko, aj keď na začiatok bude postačovať filesystem.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming