Chain of Thought Prompting – Simple Yet Powerful Technique to Harness GPT3

The emergence of large language models, such as ChatGPT, has revolutionized the field of natural language processing and has paved the way for new applications and advancements in artificial intelligence.

In the past, language models were limited by the size of the data they were trained on and the computational resources available. However, with advances in hardware and the availability of large amounts of data, researchers have been able to train much larger language models that can generate human-like text and perform a wide range of language tasks with unprecedented accuracy.

One of the most well-known large language models is ChatGPT, developed by OpenAI. ChatGPT is a conversational AI model trained on a diverse range of text, including books, websites, and social media. It uses a transformer architecture and is capable of generating text that is coherent and context-sensitive.

ChatGPT has been used for a variety of applications, including chatbots, language translation, question-answering, and summarization. It has been integrated into many platforms, such as customer service chatbots, and has proven to be an effective tool for automating and streamlining communication.

A simple technique to improve problem solving capabilities of LLM such as GPT3 is to use chain of thought prompting . In this technique a human labeler feeds in intermediate steps in response prompts (see example below), like a teacher encourages its student to explain the reasoning. The model can then can learn to reason on unseen problems, and improve its ability to answer questions that require multi step reasoning. This also helps a user to understand the thought process and how the model derived the answer.

https://ai.googleblog.com/2022/05/language-models-perform-reasoning-via.html

Blog by Jeff Dean, mentions power of chain of prompt reasoning

https://ai.googleblog.com/2023/01/google-research-2022-beyond-language.html

https://arxiv.org/abs/2201.11903

Recommendation Engine via Deep Learning

Have been reading research work for recommendation engine, specifically that can be used to do better news/blog recommendations.

Links on work in this area including open source code.

Fundamental Building Blocks
Survey
Recommendation Systems
Code
  • Subreddit recommendation. RNN based, does not use content. https://cole-maclean.github.io/blog/RNN-Based-Subreddit-Recommender-System

Deep Learning Image Recognition and Detection on iOS Camera Using tensorflow

Classification on iOS

https://github.com/tensorflow/tensorflow/tree/r1.2/tensorflow/contrib/ios_examples

Just ran first ran deep learning model with the camera app example. Pretty good image recognition!!

Detection on iOS

The next level is object detection, i.e creating a bounding box around detected image.

https://github.com/yjmade/ios_camera_object_detection

Image classification iOS camera using deep learning

image detection using deep learning put a bounding box
image detection using deep learning put a bounding box

Naveed’s favorite Deep Learning papers

Deep learning is progressing rapidly. There is a new interesting research paper every other week. This is a list of essential deep learning research by categories.

Fundamentals

Regularization

Convolution Neural Networks (CNN)

These are the recent advances for CNN, original was Lecun-5 in the 98 paper mentioned above .

Image Detection

Finding a bounding box around different objects is harder than simply classifying an image. This a class of image localization and detection problems.

Generative Adversarial Neural Networks

One of the hottest areas of research. This is a class of algorithms where 2 neural networks collaborate to generate e.g. realistic images. One network produces fake images (faker), and the other network learns to decipher fake from real (detective). Both networks compete with each  other and try to be good at their jobs, till the faker is so good that it can generate realistic images. Fake it till you make it!

Semi Supervised Learning

Getting labeled data is expensive, while unlabeled data is abundant. Techniques to use little bit of training data and lots of unlabeled data.

Visual Question Answering / Reasoning

Research on being able to ask question on images. e.g. asking if there are there more blue balls than yellow about an image.

Neural Style

Being able to take a picture and a style image e.g. a painting, and redraw the picture in the painting style. See my blog on painting like Picaso.

Recurrent Neural Networks (RNN)

AutoEncoders

This is area of unsupervised learning. An auto encoder is a neural network that tries to recreate the original image. e.g. give it any picture and it will try to recreate the same image. Why would anyone want to do that. The neural network tries to learn a condensed representation of images given that there are commonalities. Auto encoders can be used to pre train a neural network with unlabeled data.

Visualizing High Dimensional Data

Text Recognition

Neural Programming

Neural Physics

CatGAN – Cat Faces Generative Adversarial Networks Conditional GAN Using Pytorch

Released CatGan code. This was done as last assignment for NYU Deep Learning course, taught by Yann Lecun. This is a conditional GAN, and can train it to generate 4 different types of cats i.e. white, golden, black and mix.

https://github.com/navacron/deeplearning/tree/master/pytorch/catgan

The following is output conditioned on golden cats. By favorite one is 3rd one from the right in the first row. Everytime the GAN is run it will generate unique cats like these. For more cats visit the github page.

Golden Cats from CatGAN
Golden Cats from CatGAN

 

 

PyTorch Deep Learning Neural Network and Chain Rule Tutorial

I have release ipython tutorial notebooks for neural network  using pytorch. Pytorch is implementation of torch in python released by Facebook. This is what is being used in the Deep Learning course that I am taking at NYU, taught by professor Yann Lecun

https://github.com/navacron/deeplearning/tree/master/pytorch

This uses the autograd feature that is unique to pytoch and torch (not available in tensorflow). This is pytorch version of cs231n http://cs231n.github.io/neural-networks-case-study/