AI And The Ghost In The Machine
Object Processing Comparison Between Humans And Deep Neural Networks At Various Levels Of Visual Abstraction
The following is a summary of "From Photos to Sketches – how humans and deep neural networks process objects across different levels of Visual abstraction," published in the February 2022 issue of Ophthalmology by Singer et al.
For a study, researchers sought to investigate the ability of deep convolutional neural networks (CNNs) to generalize abstracted object images, such as drawings, and compare this ability to human behavior. Specifically, the study addressed the seemingly conflicting findings in previous work, where CNNs trained on natural images exhibited poor classification performance on drawings. In contrast, other studies demonstrated highly similar latent representations in the networks for abstracted and natural images.
The study analyzed the activation patterns of a CNN trained on natural images across a set of photographs, drawings, and sketches of the same objects and compared them to human behavior. In addition, the symbolic structure was analyzed across levels of visual abstraction in the early and intermediate layers of the network. The study also identified texture bias in CNNs as a contributing factor to the dissimilar representational structure in later layers and poor performance on drawings. Finally, the study demonstrated the general utility of features learned on natural images in early and intermediate layers for recognizing drawings by fine-tuning late network layers with object drawings.
The study found a highly similar representational structure across levels of visual abstraction in early and intermediate layers of the CNN. However, this similarity did not translate to later stages in the network, resulting in low classification performance for drawings and sketches.
Furthermore, texture bias in CNNs was identified as contributing to the dissimilar representational structure in late layers and the poor performance on drawings. Finally, the study demonstrated that performance could be largely restored by fine-tuning late network layers with object drawings, demonstrating the general utility of features learned on natural images in early and intermediate layers to recognize drawings.
Generalization to abstracted images, such as drawings, is an emergent property of CNNs trained on natural images but is suppressed by domain-related biases that arise during later processing stages in the network. The study highlighted the importance of understanding the factors that contribute to the differences in representational structure between natural and abstracted images in CNNs and provides insights into how to improve the ability of CNNs to generalize to abstracted images.
Reference: jov.Arvojournals.Org/article.Aspx?Articleid=2778420
7 Popular Tools And Frameworks For Developing AI Applications
Artificial Intelligence (AI) is a rapidly growing field with numerous applications, including computer vision, natural language processing (NLP) and speech recognition. To develop these AI applications, developers use various tools and frameworks that provide a comprehensive platform for building and deploying machine learning models.
This article will discuss the seven popular tools and frameworks used for developing AI applications: TensorFlow, PyTorch, Keras, Caffe, Microsoft Cognitive Toolkit, Theano and Apache MXNet. These tools have become the go-to choice for developers thanks to their ease of use, scalability and efficient execution of complex mathematical operations.
TensorFlowTensorFlow is an open-source platform developed by Google, which provides a comprehensive framework for building and deploying machine learning models across multiple platforms. It is widely used for various applications, including computer vision, natural language processing and speech recognition. For example, it can be used to build a chatbot that can understand and respond to natural language queries.
PyTorchPyTorch is another popular open-source machine learning framework, widely used for developing AI applications such as image recognition, natural language processing and reinforcement learning. It offers dynamic computation, making it easier to experiment with different model architectures.
For example, it can be used to build an image recognition system that can detect and classify different objects in an image.
KerasKeras is an open-source neural network library that runs on top of TensorFlow or Theano. It is a user-friendly platform that allows developers to create and train deep learning models with just a few lines of code. Keras can be used to build a speech recognition system that can transcribe spoken words into text.
Related: 5 natural language processing (NLP) libraries to use
CaffeCaffe is a deep learning framework developed by Berkeley AI Research (BAIR) and community contributors. It is designed for fast training of convolutional neural networks and is commonly used for image and speech recognition.
Microsoft Cognitive Toolkit (CNTK)CNTK is an open-source framework developed by Microsoft that provides a scalable and efficient platform for building deep learning models. It supports multiple programming languages, including C++, Python and C#. It can be used to build a machine translation system that can translate text from one language to another.
TheanoTheano is a popular Python library for numerical computation, specifically designed for building and optimizing deep neural networks. It is known for its efficient execution of mathematical expressions, making it useful for training complex models. For example, it can be used to build a sentiment analysis system that can identify the sentiment of a given text.
Related: 5 programming languages to learn for AI development
Apache MXNetApache MXNet is a scalable and efficient open-source deep learning framework, which supports multiple programming languages, including Python, R and Scala. It is widely used for computer vision, NLP and speech recognition applications. For example, it can be used to build a system that can identify different emotions in a given text or speech.
5 Natural Language Processing Libraries To Use
Natural language processing (NLP) is important because it enables machines to understand, interpret and generate human language, which is the primary means of communication between people. By using NLP, machines can analyze and make sense of large amounts of unstructured textual data, improving their ability to assist humans in various tasks, such as customer service, content creation and decision-making.
Additionally, NLP can help bridge language barriers, improve accessibility for individuals with disabilities, and support research in various fields, such as linguistics, psychology and social sciences.
Here are five NLP libraries that can be used for various purposes, as discussed below.
NLTK (Natural Language Toolkit)One of the most widely used programming languages for NLP is Python, which has a rich ecosystem of libraries and tools for NLP, including the NLTK. Python's popularity in the data science and machine learning communities, combined with the ease of use and extensive documentation of NLTK, has made it a go-to choice for many NLP projects.
NLTK is a widely used NLP library in Python. It offers NLP machine-learning capabilities for tokenization, stemming, tagging and parsing. NLTK is great for beginners and is used in many academic courses on NLP.
Tokenization is the process of dividing a text into more manageable pieces, like specific words, phrases or sentences. Tokenization aims to give the text a structure that makes programmatic analysis and manipulation easier. A frequent pre-processing step in NLP applications, such as text categorization or sentiment analysis, is tokenization.
Words are derived from their base or root form through the process of stemming. For instance, "run" is the root of the terms "running," "runner," and "run." Tagging involves identifying each word's part of speech (POS) within a document, such as a noun, verb, adjective, etc.. In many NLP applications, such as text analysis or machine translation, where knowing the grammatical structure of a phrase is critical, POS tagging is a crucial step.
Parsing is the process of analyzing the grammatical structure of a sentence to identify the relationships between the words. Parsing involves breaking down a sentence into constituent parts, such as subject, object, verb, etc. Parsing is a crucial step in many NLP tasks, such as machine translation or text-to-speech conversion, where understanding the syntax of a sentence is important.
Related: How to improve your coding skills using ChatGPT?
SpaCySpaCy is a fast and efficient NLP library for Python. It is designed to be easy to use and provides tools for entity recognition, part-of-speech tagging, dependency parsing and more. SpaCy is widely used in the industry for its speed and accuracy.
Dependency parsing is a natural language processing technique that examines the grammatical structure of a phrase by determining the relationships between words in terms of their syntactic and semantic dependencies, and then building a parse tree that captures these relationships.
Stanford CoreNLPStanford CoreNLP is a Java-based NLP library that provides tools for a variety of NLP tasks, such as sentiment analysis, named entity recognition, dependency parsing and more. It is known for its accuracy and is used by many organizations.
Sentiment analysis is the process of analyzing and determining the subjective tone or attitude of a text, while named entity recognition is the process of identifying and extracting named entities, such as names, locations and organizations, from a text.
GensimGensim is an open-source library for topic modeling, document similarity analysis and other NLP tasks. It provides tools for algorithms such as latent dirichlet allocation (LDA) and word2vec for generating word embeddings.
LDA is a probabilistic model used for topic modeling, where it identifies the underlying topics in a set of documents. Word2vec is a neural network-based model that learns to map words to vectors, enabling semantic analysis and similarity comparisons between words.
TensorFlowTensorFlow is a popular machine-learning library that can also be used for NLP tasks. It provides tools for building neural networks for tasks such as text classification, sentiment analysis and machine translation. TensorFlow is widely used in industry and has a large support community.
Classifying text into predetermined groups or classes is known as text classification. Sentiment analysis examines a text's subjective tone to ascertain the author's attitude or feelings. Machines translate text from one language into another. While all use natural language processing techniques, their objectives are distinct.
Can NLP libraries and blockchain be used together?NLP libraries and blockchain are two distinct technologies, but they can be used together in various ways. For instance, text-based content on blockchain platforms, such as smart contracts and transaction records, can be analyzed and understood using NLP approaches.
NLP can also be applied to creating natural language interfaces for blockchain applications, allowing users to communicate with the system using everyday language. The integrity and privacy of user data can be guaranteed by using blockchain to protect and validate NLP-based apps, such as chatbots or sentiment analysis tools.
Related: Data protection in AI chatting: Does ChatGPT comply with GDPR standards?

Comments
Post a Comment