Filtering by
- All Subjects: Machine Learning
- Creators: Computer Science and Engineering Program
- Creators: Electrical Engineering Program
This paper is centered on the use of generative adversarial networks (GANs) to convert or generate RGB images from grayscale ones. The primary goal is to create sensible and colorful versions of a set of grayscale images by training a discriminator to recognize failed or generated images and training a generator to attempt to satisfy the discriminator. The network design is described in further detail below; however there are several potential issues that arise including the averaging of a color for certain images such that small details in an image are not assigned unique colors leading to a neutral blend. We attempt to mitigate this issue as much as possible.
This paper is centered on the use of generative adversarial networks (GANs) to convert or generate RGB images from grayscale ones. The primary goal is to create sensible and colorful versions of a set of grayscale images by training a discriminator to recognize failed or generated images and training a generator to attempt to satisfy the discriminator. The network design is described in further detail below; however there are several potential issues that arise including the averaging of a color for certain images such that small details in an image are not assigned unique colors leading to a neutral blend. We attempt to mitigate this issue as much as possible.
Designing these agents to cover every case of human interaction is difficult, and usually
imperfect, as human players are capable of learning to overcome these agents in unintended
ways. Artificial intelligence is a growing field that seeks to solve problems by simulating
learning in specific environments. The aim of this paper is to explore the applications that the
self play learning branch of artificial intelligence may pose on game development in the future,
and to attempt to implement a working version of a self play agent learning to play a Pokemon
battle. Originally designed Pokemon battle behavior is often suboptimal, getting stuck making
ineffective or incorrect choices, so training a self play model to learn the strategy and structure of
Pokemon battles from a clean slate would result in an organic agent that would outperform the
original behavior of the computer controlled agents. Though unsuccessful in my implementation,
this paper serves as a record of the exploration of this field, and a log of what worked and what
did not, in order to benefit any future person interested in the same topics.
Matrix Factorization techniques have been proven to be more effective in recommender systems than standard user based or item based methods. Using this knowledge, Funk SVD and SVD++ are compared by the accuracy of their predictions of Twitch streamer data.
Introduction
As watching video games is becoming more popular, those interested are becoming interested in Twitch.tv, an online platform for guests to watch streamers play video games and interact with them. A streamer is an person who broadcasts them-self playing a video game or some other thing for an audience (the guests of the website.) The site allows the guest to first select the game/category to view and then displays currently active streamers for the guest to select and watch. Twitch records the games that a streamer plays along with the amount of time that a streamer spends streaming that game. This is how the score is generated for a streamer’s game. These three terms form the streamer-game-score (user-item-rating) tuples that we use to train out models.
The our problem’s solution is similar to the purpose of the Netflix prize; however, as opposed to suggesting a user a movie, the goal is to suggest a user a game. We built a model to predict the score that a streamer will have for a game. The score field in our data is fundamentally different from a movie rating in Netflix because the way a user influences a game’s score is by actively streaming it, not by giving it an score based off opinion. The dataset being used it the Twitch.tv dataset provided by Isaac Jones [1]. Also, the only data used in training the models is in the form of the streamer-game-score (user-item-rating) tuples. It will be known if these data points with limited information will be able to give an accurate prediction of a streamer’s score for a game. SVD and SVD++ are the baseis of the models being trained and tested. Scikit’s Surprise library in Python3 is used for the implementation of the models.
Throughout this project, I decided on a number of learning goals to consider it a success. I needed to learn how to use the supporting libraries that would help me to design this system. I also learned how to use the Twitter API, as well as create the infrastructure behind it that would allow me to collect large amounts of data for machine learning. I needed to become familiar with common machine learning libraries in Python in order to create the necessary algorithms and pipelines to make predictions based on Twitter data.
This paper details the steps and decisions needed to determine how to collect this data and apply it to machine learning algorithms. I determined how to create labelled data using pre-existing Botometer ratings, and the levels of confidence I needed to label data for training. I use the scikit-learn library to create these algorithms to best detect these bots. I used a number of pre-processing routines to refine the classifiers’ precision, including natural language processing and data analysis techniques. I eventually move to remotely-hosted versions of the system on Amazon web instances to collect larger amounts of data and train more advanced classifiers. This leads to the details of my final implementation of a user-facing server, hosted on AWS and interfacing over Gmail’s IMAP server.
The current and future development of this system is laid out. This includes more advanced classifiers, better data analysis, conversions to third party Twitter data collection systems, and user features. I detail what it is I have learned from this exercise, and what it is I hope to continue working on.
This project considers the FPGA implementations of MLP and CNN feedforward. While FPGAs provide significant performance improvements, they come at a substantial financial cost. We explore the options of implementing these algorithms on a smaller budget. We successfully implement a multilayer perceptron that identifies handwritten digits from the MNIST dataset on a student-level DE10-Lite FPGA with a test accuracy of 91.99%. We also apply our trained network to external image data loaded through a webcam and a Raspberry Pi, but we observe lower test accuracy in these images. Later, we consider the requirements necessary to implement a more elaborate convolutional neural network on the same FPGA. The study deems the CNN implementation feasible in the criteria of memory requirements and basic architecture. We suggest the CNN implementation on the same FPGA to be worthy of further exploration.