An Introduction to Artificial Intelligence
What is AI
AI is the ability of machines to perform cognitive functions of human brain.
Human beings are considered intelligent because not only can they see and feel like other animals but they can carry out a variety of other functions. For e.g., humans can recognize speech, comprehend what they study. They can carry out even complex work like solving problems, judgements and giving recommendations as well.
When we simulate the same things in machines or computer systems, it is called AI.
With AI, computer behaves in a way that simulate human abilities, such as comprehension, decision-making, learning and problem-solving.
Some day to day applications of AI that have emerged recently include speech recognition like Siri and Alexa, which can learn your voice, speech patterns, and accent, or Amazon anticipating your shopping needs and preferences. Some more examples are Google predictive search engine, Gmail understanding spam mails and filtering them as Spam mails or Twitter's automated offensive language detection.
In near future, AI can be used in devices like security cameras, lights, fans and air conditioners that understands your preferences and adjust settings based on your everyday need. AI can analyze transaction patterns and behaviors to detect anomalies and potential fraudulent activities.
Why we need AI
While AI has the potential to take away a lot of jobs or can create copyright problems, there are many ways it can help human beings in positive ways.
Look at the following use cases:
a) Hannah is a German tourist who is visiting India. She is liking the places but language is a big barrier. People speaks so many languages in here. She feels it would have been great if there is a hearing aid that can understand what people are speaking around her and translate to German.
b) Amar works in the transport department in India and feel sad about the ever increasing road accident statistics. A large section of road accidents occurs because of human errors in driving cars. He feels self driving cars can have much less chance of errors and fatality rate can decrease sharply.
c) Mary feels if with advancement of software, can all her expenses come in various categories by end of every month. Like $236 in groceries, $1257 as house rent, $397 as travel and $670 as savings. It should be able to recommend her where she can save or which category expense is more than what it should be and how much is the right amount.
Why AI came into picture now
Simulation of human intelligence was being tried since sometime. It is not easy and it requires few capabilities. AI is made possible because of advancements in these capabilities in recent years..
a) Training a machine on huge amount of real life data to predict accurately
b) Such training on large datasets involves huge computation power
c) Faster algorithms with real time or near real time results.
Some Programming Languages for AI
Python
Python is most widely used in AI because it is simple and easy to program in Python. It helps developers concentrate on the problem-solving aspects of AI and ML. Besides it has extensive libraries for AI algorithms. It's wide range of libraries like TensorFlow, PyTorch, and scikit-learn simplify AI and machine learning tasks. These tools help developers build complex models without starting from scratch. Other advantages of Python are it is open source with wide community support and it is platform independent. This means that the same Python code can run on different operating systems like Windows, MacOS, and Linux without any modifications.
Python easily integrates with other languages (like C++) for performance-critical parts of an AI system. It also works well with big data frameworks like Apache Spark and can be paired with cloud services (AWS, GCP) for scalable AI solutions.
领英推荐
Python's limitations are its slower execution speed. Python is an interpreted language. It interprets the code and runs which is slower than compiled languages like C++ or Java. This can become an issue in AI applications that require real-time processing or high-performance computing. Python’s ease of use and flexibility come at the cost of higher memory usage. In AI tasks that involve large datasets or complex models, this can lead to inefficient memory management and slow down the system’s performance.
Java
Enterprise applications rely on Java, particularly for backend and data processing tasks because of its scalability and good performance. Besides, it is open source and platform independent like Python. Java has wide integration capabilities and has large library support. But limitations of Java is that it does not has as much extensive library support as Python and because of its vastness there is a learning curve involved.
R
R is useful in statistical computing and data visualization. Another advantage is, compared to other programming languages, R stands out for its capabilities in statistics, with several tools available in this space, as well as for data visualizations. With its libraries, you could analyze historical data and model different scenarios It provides powerful tools for manipulating and analyzing large datasets.
Limitation of R is its slower execution time compared to Java because it is again an interpreted language. This can be a limitation for AI applications that require real-time processing or handle large-scale data at high speeds. R is less efficient in terms of memory management and CPU utilization, which can be a handicap when working with huge datasets or building scalable AI solutions.
R is best suited for data-centric AI applications involving data analysis and statistical modeling when real-time processing isn’t required. For example, you might choose R if you were building an Investment Strategy and Risk Assessment Tool.
Julia
Julia is a functional programming language released in 2012. Its creators wanted to combine the readability and simplicity of Python with the speed of statically-typed, compiled languages like C. Julia is a compiled language, that’s one of the reasons that it performs faster than interpreted languages. However, unlike traditional compiled languages, Julia is not strictly statically typed. It uses JIT (Just In Time) compilation to infer the type of each individual variable in your code. The result is a dynamically-typed language that can be run from the command line like Python, but that can achieve comparable speeds to compiled languages like C and Go. Julia has in built support for parallel processing that does not require importing a third party library or extensive coding and it can be done in a declarative manner as follows:
nheads = @parallel (+) for i = 1:100000000
rand(Bool)
end
What is Machine Learning how is it different than AI
Artificial intelligence (AI) is a broad concept that refers to the ability of machines to mimic human intelligence, while machine learning (ML) is a subset of AI that focuses on teaching machines how to perform specific tasks.
AI uses math and logic to simulate human reasoning while called Machine Learning is a subset of AI that uses algorithms and statistical models to teach machines how to perform tasks by identifying patterns in data.
Machine learning (ML) is a subset of artificial intelligence which focuses on training machine learning algorithms with vast data sets (both structured and unstructured) to produce machine learning models
Based on these learning models, ML is capable of performing complex tasks that can be that can an image, forecast sales, or giving recommendations on investments. It learns from the data by using multiple algorithms and techniques.
Diving into Deep Learning
Deep Learning is a subset of ML, in which artificial neural networks (AANs) that mimic the human brain are used to perform more complex reasoning tasks without human intervention.
Deep learning can learn from unlabeled data, while more basic machine learning models may require more context about the data they are fed in order to "learn" correctly for example tags. Deep learning models are built using neural networks.
Fundamentally, deep learning refers to a class of machine learning algorithms in which a hierarchy of layers is used to transform input data into a slightly more abstract and composite representation.
For example, the raw input in an image recognition model may be an image (represented as a tensor of pixels). The first representational layer may attempt to identify basic shapes such as lines and circles, the second layer may compose and encode arrangements of edges, the third layer may encode a nose and eyes, and the fourth layer may recognize that the image contains a face.
Consultant @Capgemini | Ex-Coforge | IIIT-B
2 个月Insightful Siddhartha Tripathy sir