Ad Hoc Learning