Showing posts from 2019

GANs and other deep learning models for cooking recipes

I retired this spring after working on artificial intelligence projects since the 1980s. Freedom from having to work on large projects for other people and companies is liberating and frees up time for thinking about new ideas. Currently I am most interested in deep learning models for generating and evaluating recipes - for now I am using a GAN model (which I am calling RecipeGAN). When I managed a deep learning team at Capital One, I used GANs to synthesize data. During a Saturday morning quiet-time hacking sprint the first month at my new job, I had the idea to take an example program SimpleGAN that generated MINST digits and instead generate numeric spreadsheet data (using the Wisconsin Cancer Data Set that I had previously used in my books as example machine learning data). I was really surprised how well this worked: I could generate fake Wisconsin cancer data, train a classification model on the fake data, and get classification prediction accuracy on real data samples that wa

Back living in Sedona Arizona and enjoying my retirement

My wife and I returned to our home in Sedona Arizona in June. I had been managing a deep learning team for Capital One in Champaign Illinois (in the research park at UIUC). I am now retired so we moved back into our house in the mountains in Central Arizona. re: retirement: while I will might still do small interesting consulting jobs, I am retired. I am spending my time volunteering at a local food bank, hiking and kayaking with my friends, and I joined a local writers group to give myself a shove to finish a sci-fi book I have been working on for a long time. I released a second edition to my Haskell book this week and I have edits for a new edition for my Common Lisp book that I will push to current readers soon, but I plan on no longer writing new technical books. I have written 22 technical books - probably sufficient :-) Personally my passion is still studying artificial intelligence and deep learning but this is now research for my personal pleasure.

My large Haskell + Python project KGcreator (tool for automating the generation of Knowledge Graphs) and auto code formatting

You might wonder what the topics of my large Haskell + Python project KGcreator and auto code formatting have to do with each other. I addition to working on two Python books ( Python Intelligent Systems and Deep Learning and Graph Databases ), my main 'retirement' activity has been write a lot of Haskell code and a smaller amount of Python code for my KGcreator project. After reading a discussion on Hacker News yesterday about Python code tidy/auto-format tools, I decided to add Makefile targets. After a 'stack install stylish-haskell hindent' and a 'pip install yapf', I added something like this to my Haskell top level Makefile: tidy: cd src/fileutils; stylish-haskell -i *.hs; hindent *.hs cd src/nlp; stylish-haskell -i *.hs; hindent *.hs cd src/sw; stylish-haskell -i *.hs; hindent *.hs cd src/webclients; stylish-haskell -i *.hs; hindent *.hs cd test; stylish-haskell -i *.hs; hindent *.hs And something like this to my Python top level Mak

I retired from Capital One yesterday

With deep gratitude for a great company and a great job, I retired from my role as manager of the UIUC machine learning team and Master Software Engineer. Capital One has deep machine learning talent so check them out if you are looking for ML work. Thanks especially to my team for being interesting to work with and for the kind going away gift of locally made Go Ban board, bowls, and Go stones. A wonderful gift. I will miss you all! When my family and friends hear me talk about retirement they do so with great skepticism since I have retired several times already! That said, I feel like kicking back and finishing my current book project and perhaps do limited consulting work after I travel a bit to see family and friends.

Full circle from one laptop to rule them all to specialized function specific devices

For about 25 years my digital life was wrapped tightly around whatever personal laptop I had. Since for most of that time I worked as a remote consultant (except for gigs at Singapore-based Ola Search, Google in Mountain View, and currently at Capital One in Urbana, Illinois) my personal laptop also covered work activities. There was something close and comforting about having one digital device that I relied on. Digital life is very different now. Because of concerns about ‘always being online’ and not paying enough attention to the non-digital world, I favor just wearing an Apple Watch and leaving my iPhone at home. The Apple Watch is just adequate enough for phone calls, messaging, and on rare occasions email and is not anything I spend any real time paying attention to. I can spend the good part of a  day shopping, walking in a park, eating out, or perusing books in a library and just spend a few minutes paying attention to my watch. A huge improvement to cellphone addiction! F

AWS Neptune Graph Database as a service

Fascinating to see Amazon AWS supporting graph databases with their  Neptune service  - I have been working as a machine learning practitioner at Capital One (I manage a machine learning team there) but in a previous life, I worked with the Knowledge Graph when I was a consultant at Google and I have written a few semantic web/linked data books. As a side project at home I have been looking into Knowledge Graph building tools so Amazon;s new offering looks useful! I like that they support both SPARQL and and Gremlin for queries.

Our humanity vs. technology and corporatism

My wife and I enjoyed a performance of Sleeping Beauty by the Russian National Ballet Theater last Wednesday night at a theater on campus at UIUC. Every time I enjoy art, company of family and friends, reading a good book, cooking and enjoying a meal, etc. I appreciate being a human (i.e., a somewhat evolved great ape) and my physical and social life. I view technology as a fairly neutral force in our lives. I judge technology on how it improves peoples' lives, health, the health of our planet, and generally how well it supports civil society. As technologists, we get value from being paid for our work and thus helping to support ourselves and our families and to spend money in our local economies (supporting local businesses and directly or indirectly hiring people working in our communities.) We also benefit from any pleasure we get learning new things while working. There are obvious bad aspects of technology and these bad aspects are mostly aligned with corporatism. Whethe

Ocean Protocol Meetup

Originally posted January 9, 2019 I hosted a meeting today to talk about Ocean Protocol, other data sources for machine learning, and lead a group discussion of startup business ideas involving curating and selling data. The following is from a handout I created from material on the Ocean Protocol web site and other sources: Data Trumps Software Machine learning libraries like TensorFlow, Keras, PyTorch, etc. and people trained to use them have become a commodity. What is not a commodity yet is the availability of high quality application specific data. Effective machine learning requires quality data Ocean Protocol   - is a ecosystem based on blockchain for sharing data that serves needs for both data producers who want to monetize their data assets and for data consumers who need specific data that is affordable. This ecosystem is still under development but there are portions of the infrastructure (which will all be open source) alr

Internet As Entertainment Vs Information Vs Knowledge

Originally posted December 8, 2018 We can look forward to a future where the economy wrapped around tech advances overshadows conventional industries like agriculture and manufacturing. Given this context I am disappointed but not surprised that on international math tests students in the USA continue to fall behind their counterparts in the rest of the world. Why is this when there are so many opportunities to learn both in school and as a lifetime pursuit? Given the transformational effect of the Internet on society in general and in particular the economy, I think we are seeing the effects of different peoples’ perception and use of the Internet as a source of entertainment vs. source of information vs. source of knowledge. Mark’s Hierarchy of Internet Use Simplifying this discusion, in increasing order of personal value and value to society, Internet use falls in three broad use cases: Internet as a source of entertainment: there is real value in engaging with friends

Using Trained Keras Weights In Racket Scheme Code

Originally posted September 8, 2018 I am interested in using pre-trained deep learning models as functional components in functional languages like Scheme and Haskell. I want to share a simple experiment that I wrote that uses Keras to train a model on the Wisconsin cancer data set (that I have used in the last three years in two books I have written in example programs), saves the weights in CSV files, and then uses those weights in a Racket Scheme program. There are two github repos: optional:   that trains a model and saves the weights Scheme code that includes the CSV weight files: Sample run: $ racket neural.rkt ** weights loaded ** shape of w2: 64 64 (number correct: 139)(number wrong: 12)(accuracy: 92.05298013245033)

Centralized Vs Distributed Systems Publishing And Owning Our Own Content

Originally posted August 25, 2018 I read a good article on   Centralized Wins. and Decentralized Loses.   this morning and I commented on Hacker News: I wish it weren’t true but for right now I agree with the author, including what it might take to tip the balance: “1. Complete deterioration of trust such that avoiding the centralization of power becomes a necessity. 4. The decentralization community manages to create clearly superior applications as convenient and reliable as centralized providers.“ I was eager to use GNU Social, and after some use for a year, my host shut down. I just opened another Mastadon account but haven’t started using it yet. Also, the value of centralized services like Twitter is the really interesting people I follow. Social media is best when used as an advertising and directory service for content we put on our own blogs and web sites, but even that seems to be less common. I really enjoyed the Decentralized Web Conference June 2016, but it also m

Hybrid Artificial Intelligence Systems

Originally posted August 19, 2018 Even though I specialize in deep learning at work I sceptical about achieving AGI (artificial general intelligence) using only neural networks (of any architecture). My friend and two time colleague Ben Goertzel has been working on a hybrid approach to AGI in the   OpenCog   organization with a large team for many years. In my personal-time project , I have been working on my own hybrid general AI framework for a number of years. Common Lisp is still my favorite language for research programming and the latest edition of my book   Loving Common Lisp, or the Savvy Programmer’s Secret Weapon contains a section on using Armed Bear Common Lisp With DeepLearning4j. ABCL is implemented in Java and while not as performant as SBCL it offers interop with Java libraries like DeepLearning4j. For now, I am happy enough being able to train specific deep learning models for word2vec, seq2seq, and summarization and write funct

My Emacs setup for Org mode, flyspell, and git

Originally posted June 2, 2018 I do much of my work in SSH shells to remote servers and while I have used Emacs for about 30 years I don’t usually take too much time and effort customizing it. I have recently started using Org mode at work (I am a Master Software Engineer at Capital One and manage a Deep Learning team) and at home. Today after enjoying a Saturday morning gym workout I decided to improve my Emacs setup and this blog article is documentation that I will use in the future for reference. If it saves you some time or gives you useful ideas, even better! I wanted to enable flyspell (which is installed with any current Emacs distribution) for all text modes, and that includes Org mode files. I added the following to my .emacs file: (add-hook 'text-mode-hook 'turn-on-visual-line-mode) ;; flyspell (dolist (hook '(text-mode-hook)) (add-hook hook (lambda () (f