Book Image

Java Deep Learning Essentials

By : Yusuke Sugomori
Book Image

Java Deep Learning Essentials

By: Yusuke Sugomori

Overview of this book

AI and Deep Learning are transforming the way we understand software, making computers more intelligent than we could even imagine just a decade ago. Deep Learning algorithms are being used across a broad range of industries – as the fundamental driver of AI, being able to tackle Deep Learning is going to a vital and valuable skill not only within the tech world but also for the wider global economy that depends upon knowledge and insight for growth and success. It’s something that’s moving beyond the realm of data science – if you’re a Java developer, this book gives you a great opportunity to expand your skillset. Starting with an introduction to basic machine learning algorithms, to give you a solid foundation, Deep Learning with Java takes you further into this vital world of stunning predictive insights and remarkable machine intelligence. Once you’ve got to grips with the fundamental mathematical principles, you’ll start exploring neural networks and identify how to tackle challenges in large networks using advanced algorithms. You will learn how to use the DL4J library and apply Deep Learning to a range of real-world use cases. Featuring further guidance and insights to help you solve challenging problems in image processing, speech recognition, language modeling, this book will make you rethink what you can do with Java, showing you how to use it for truly cutting-edge predictive insights. As a bonus, you’ll also be able to get to grips with Theano and Caffe, two of the most important tools in Deep Learning today. By the end of the book, you’ll be ready to tackle Deep Learning with Java. Wherever you’ve come from – whether you’re a data scientist or Java developer – you will become a part of the Deep Learning revolution!
Table of Contents (15 chapters)
Java Deep Learning Essentials
About the Author
About the Reviewers
Other Important Deep Learning Libraries

Things dividing a machine and human

We have gone through three problems: the frame problem, the symbol grounding problem, and feature engineering. None of these problems concern humans at all. So, why can't a machine handle these problems? Let's review the three problems again. If you think about it carefully, you will find that all three problems confront the same issue in the end:

  • The frame problem is that a machine can't recognize what knowledge it should use when it is assigned a task

  • The symbol grounding problem is that a machine can't understand a concept that puts knowledge together because it only recognizes knowledge as a mark

  • The problem of feature engineering in machine learning is that a machine can't find out what the feature is for objects

These problems can be solved only if a machine can sort out which feature of things/phenomena it should focus on and what information it should use. After all, this is the biggest difference between a machine and a human. Every object in this world has its own inherent features. A human is good at catching these features. Is this by experience or by instinct? Anyhow, humans know features, and, based on these features, humans can understand a thing as a "concept."

Now, let's briefly explain what a concept is. First of all, as a premise, take into account that every single thing in this world is constituted of a set of symbol representations and the symbols' content. For example, if you don't know the word "cat" and see a cat when you walk down a street, does it mean you can't recognize a cat? No, this is not true. You know it exists, and if you see another cat just after, you will understand it as "a similar thing to what I saw earlier." Later, you are told "That is called a cat", or you look it up for yourself, and for the first time you can connect the existence and the word.

This word, cat, is the symbol representation and the concept that you recognize as a cat is the symbol content. You can see these are two sides of the same coin. (Interestingly, there is no necessity between these two sides. There is no necessity to write cat as C-A-T or to pronounce it as such. Even so, in our system of understanding, these are considered to be inevitable. If people hear "cat", we all imagine the same thing.) The concept is, namely, symbol content. These two concepts have terms. The former is called signifiant and the latter is called signifié, and a set of these two as a pair is called signe. (These words are French. You can say signifier, signified, and sign in English, respectively.) We could say what divides a machine and human is whether it can get signifié by itself or not.

What would happen if a machine could find the notable feature from given data? As for the frame problem, if a machine could extract the notable feature from the given data and perform the knowledge representation, it wouldn't have the problem of freezing when thinking of how to pick up the necessary knowledge anymore. In terms of the symbol grounding problem, if a machine could find the feature by itself and understand the concept from the feature, it could understand the inputted symbol.

Needless to say, the feature engineering problem in machine learning would also be solved. If a machine can obtain appropriate knowledge by itself following a situation or a purpose, and not use knowledge from a fixed situation, we can solve the various problems we have been facing in achieving AI. Now, the method that a machine can use to find the important feature value from the given data is close to being accomplished. Yes, finally, this is deep learning. In the next section, I'll explain this deep learning, which is considered to be the biggest breakthrough in the more-than-50 years of AI history.