Carnegie Mellon Launches Undergraduate Degree in Artificial Intelligence
cs.cmu.edu
cs.cmu.edu
I'm not fundamentally opposed, but I think this is akin to creating a "Condensed Matter and Nanophysics" undergraduate degree alongside "Physics."
Changing the name of a factory will not change the output. The only solution to creating more and better AI research is to invest in better fundamentals in computer science and mathematics, then create pipelines for specialization. Slow and low.
I think there is room for specialist field called numerical programming or scientific programming. Someone who knows basics of numerical programming, math, statistics, data science, computational modeling and simulation, DSP etc. and can apply the skills to multiple different fields, including machine learning.
The skill level needed to work independently usually requires at least masters level, but there could be BS level degree as well. Today the problem is that you have research PhD's doing basic grunt work because you can't just hire a coder. All they know is web stacks, android and SQL.
It's like learning a new computer language, it takes about as long to do that on it's own as to have a class in something else that happens to use your that new language.
Analytically computing surface/volume integrals, yes, that is a big jump. But I don't understand why students need to memorize N algorithms and M substitution rules for that.
https://en.wikipedia.org/wiki/Line_integral#/media/File:Line...
Sometimes it is a big jump, sometimes it is all common sense.
It cuts out the hardware/OS/compilers/networking part in order to make room for a very wide "minor" in AI.
Isn't this what Material Science is? A truncated version of physics for those with a greater interest in application than theory. Arguably most engineering derives from hard science that is converted into a form that is more easily applied.
Here is the syllabus:
https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...
Do you think any part of that is unreasonable or putting the cart before the horse?
Also, in those specialized roles, a statistian with an advanced degree is likely to get more leverage. So I think it's smart for undergrads to work on being "unblockable" In a variety of environments so they can build experience - which is the spirit of the standard CS undergrad there.
Definitely agree it's potentially narrow, but there's absolutely nothing wrong with that.
Also ethical review boards for other areas of science are very well established, and it's not unrealistic to imagine that extending towards machine learning as well.
The main issue is that a lot of people do not take away the intent, or can fully answer questions correctly about the intent but not actually care. You can lead a horse to water but you can't make it drink.
Someone I knew in college made bank writing papers for engineers' in those ethics courses.
One of the signs of how developed a subfield of a science is is how easily it can be taught to non-experts.
Being a practitioner for Deep Learning, the bar is actually lower than being a proficient, compiler or database programmer.
But we both know in practice they're substantially different lines of work.
At least he made it funny.
An undergraduate degree obviously will be more cursory than a graduate program but even then it might help produce a crop of better thinkers for graduate programs with already solid background. There's nothing inherently preventing an 18-year-old from learning this kind of stuff.
I'm currently reading Turing's famous paper "Can Machines Think?" and the way Turing explains computers, state machines and Laplace's idea of a deterministic universe made me think about the current state of CS. It seems to me that CS faculties change their curricula to teach students more and more about practical programming and less about its history and theoretical foundations. I think that is not right.
Many of my friends are studying CS as their major, but it seems to me that they don't grasp the deeper meaning of the field. For them CS is about programming, about building apps. For me computer science is not about programming and computers, it is about creating an abstract world of computation that is independent from us.
Maybe it would've been a good decision to keep theoretical computer science inside mathematics departments and offer a computer engineering degree for practical applications such as programming.
Add things like decision trees (which you need to build something like a chatbot). In fact, a friend of mine from my freshman year (way back before everyone had computers in college) wrote a chatbot. I had never seen anything like it, and he let it loose on IRC. Was pretty cool back when things like rn and ftp were all there were on the net.
Regression isn't that hard. Heck, most advanced Calculus and further maths are way harder.
Neural networks aren't even that complicated, although tuning and understanding the output sure is. But that comes with time.
Markov Chains are basically advanced flowcharting. If they can teach PERT analysis to Business majors, then Markov should be easily understood.
Sure, there are some hardcore things, but the foundation is based on stuff many smart people should be able to learn in undergrad. Twenty years from now, when we are surrounded by "AI"-everything, we'll wish more schools did this. And I guarantee you'll wish your kids learned this in high school.
Yes, I am serious about that last comment. I have an 8 year old son, and I'm already working on teaching him Markov Chains using sports. Yes, it's super simple, but easy enough to teach him consequences of actions, without getting into nested probabilities.
There are three different roles that I think you are conflating: Designing, Building (and maintaining), and using.
Each has a different skillset. But to think that you need to determine the convergence of models makes no sense to me. Why can't an undergrad build a simple classifier?
And in finance, CAPM uses regression. Every single finance undergrad in the country learns it. Are you implying that they can't because they don't know how the model will converge with something else?
Seriously, it really frustrates me when people look down on undergrads and say "Oh, they can't do it". Baloney. I've met tons of really smart, focused undergrads. And some pretty f-ing stupid grad students (at a PhD level to boot!).
Two decades ago, you needed some pretty heavy CS to build a web page. Today, my mom can do it. With your line of thinking, that wouldn't be possible.
I'm a front-end dev (amonst other things), so I'm pretty comfortable with React, Angular, etc. And therr are definitely cases where they make sense. But simple static or server side rendered sites are much simpler now.
To come back to modelling: I see daily people with a cursory understanding of models misusing their tools and not noticing blatant problems. Just today:
- someone using random forest to predict a quantity (which you can do, it’s often nicknamed “random tree regression”) so the first thing their did was to turn quantities to predict to as many categorical variables;
- someone else, on the same problem didn’t see why having a massively higher mean square error on the out-of-bag sample compared to the test sample was suspicious.
I’m not saying that five years of university will solve that, but I’m noticed that taking the time to dig into the model, vs. assuming it’s like a car -- you only need to turn the key and go with it -- is strongly correlated with making those mistakes.
Edit: if my school wasn't so obsessed with teaching CS majors diffeq (probably just as a gpa filter...), they could already fit in the requisite math for a solid ML understanding
I think my contention is less things like being formally introduced to ‘epsilon-delta analysis’ (not sure what that is) but more that people trying to cut corners by skipping a semester of differential calculus tend to also skip a big part of the explanation around how models really work. They tend to not grasp what is convergence, get very confused in higher dimensions, and assume ‘harmless’ short-hands like: ”you should aways normalise your data, in some cases, you need to, but why actually remember why, just do it”; “as long as it’s not overfitting, the model is fine” -- without really much recourse when things are not acting as expected.
I agree that cutting corners is something I would be super skeptical of in this degree. It should really be an offshoot of a mathematics program, not a CS program with the bare minimal mathematics included. It's end goal is probably PR, money grab, and pumping out students that are really attractive for doing analytics grunt work.
I don't see why you need to be a domain expert of the low level details to make a career out of something so useful.
Most work in CS feeds more on experience than education. A PhD is simply a way of getting deep experience (and advice) in areas that a job probably wouldn't allow for. Since ML is hot, you can get hands on experience with it these days, its not like 10 years ago when the only people looking at deep learning were pretty much researchers, PhDs, and PhD students.
A consequence of this degree is that it makes CS degrees worth less. Because AI/ML is by definition a subset of CS, this degree implies that you have CS + more. It doesn’t fairly show that there is a tradeoff in a specialized curriculum (less exposure to other areas of CS).
I would say that if you are at CMU or another school offering this degree, you would be a fool not to do it. Even if you are not interested in AI/ML, it will be more hirable than CS because the name implies it is “better” than a CS degree. It’s a similar situation with the new “cybersecurity” degrees being offered. Ideally the accreditation group would bring some sense into this but so far they have greenlit both degrees.
They end up having to explain their degrees, which is generally not a good thing. It happens all the time with engineering. In the job market a degree in mechanical engineering is in general worth more than one in robotics.
You also run the risk of graduating into another AI winter, or just deciding you hate AI, and then you really have to try hard to explain that your degree is really just a CS degree.
Imagine graduating now with an undergrad in big data--that sounded like a good idea 5 years ago.
Is that a good analogy? Big data started out as a marketing buzzword, whereas AI always was an academic field of research.
On the other hand, a degree in CS with specialization in Networking, would be more valued than a plain degree in CS.
I'd say if you want to specialize, do a master's. A degree such as above would put the holder in really bad position if that field goes into ice age. In case that happens to master's degree, you always have your bachelor's degree to fall back to.
No, I would not expect a person with an undergrad degree in physics to have nearly the same capabilities and understanding of a PhD holder in general.
Similarly, it would be silly to assume the alums from this program are going to be considered to be of the same caliber. Instead, they will fill roles in which having a richer math, cs, and stats background matters a bit less, as is the case for a large fraction of data scientist jobs. And yes, they would be remotely useful with just 4 decent cs classes, 2 stats classes, and 2 math classes.
I don't think I would claim most AI work is research, but regardless, I think there is a still quite a lot of work that is quite applied nowadays. For example, there are a huge number of special-use-case neural networks you can think of to make very specific decisions based on image data. Or, nearly every online retailer would love someone to be able to come up with a good recommendation engine for products on their site. While a PhD might build a slightly-better one, I'm fairly confident that an undergrad trained properly (no pun intended) could pull off something usable.
Even setting a very high bar for what constitutes "AI", I would concede that Google Assistant, Siri, Alexa, and Cortana are AI systems. How many jobs are there supporting those products today? How many will there be 5 years from now when these kids graduate?
But there are many other AI products out there, and moreso, machine learning is now widespread as a supporting tool in very many places. The data science field of today/tomorrow is ML and AI, and we definitely will need more practitioners.
Yeah, not really. A lot of day-to-day work in ML requires rudimentary math, at most. I know PhDs who quickly get discouraged with ML because they're suddenly spending 95% of their time doing the grunt work. It would be a boon if we could hire non-PhDs who are competent in the fundamentals of signals, algorithms, statistics, and experiment design.
If you're aspiring to work in ML, what major do you choose now? Statistics? EE? CS? Math?
None of these are ideal. If you're doing CS, you're probably too busy with compilers or DB courses to get a proper education in signal processing, information theory, stochastic processes, etc. If you're in EE, you're too busy soldering circuits and to learn about data structures, algorithms, or software engineering courses. There's a lot of room for improvement here.
Even at the graduate level, most of our EE interns and new hires can't solve FizzBuzz, while the CS majors can't properly design a scientific experiment to save their lives.
I'd also suggest adding some systems neuroscience courses in there too.
Given the nature of machine learning, even if you understand the mathematics behind it, you cannot "reason" with a trained-model. I think now academia is catching up in this democratization effort, by producing engineers that can use those machine learning tools (even if they cannot design such tools/frameworks)
I just looked up the Cambridge physics tripos and you do condensed matter in years 3 and 4. You can learn a lot in 4 years. Admittedly it's a specialisation in a general science degree.
Denny Britz, He drops school (his phd) to go into industries.
Christopher Olah: Same story, at least he doesn’t communicate about his education (http://colah.github.io/cv.pdf).
Both are well-known for their expertise, and followed by a large amount of people in the deep learning community.
You can def become an great machine learning engineer who used deep learning technique, without going to any university.
--- Ian Goodfellow:
"One of my biggest heroes is Geoffrey Hinton. His PhD was in experimental psychology ( . Biographical Sketch ).
In mechanical engineering, I think you learn quite a lot of the mathematical tools that are used in machine learning, so you won’t be starting from scratch.
In general, we often find that revolutions in one field happen when someone from another field arrives with fresh ideas that developed elsewhere."
(https://www.quora.com/Would-you-encourage-people-from-anothe...)
How can someone with almost no technical knowledge learn ML?
Ian Goodfellow::"It’s important to master some of the basics, like linear algebra, probability, and python programming.
But you don’t need to know all of linear algebra (I don’t think I’ve ever used a QR decomposition outside the classroom), all of probability (we don’t usually do much involving combinatorics / re-ordering of sequences in deep learning), or all of python programming (a lot of the more obscure language features are actually forbidden at some companies).
I’d say maybe start by learning enough linear algebra, probability, and python programming that you can implement logistic regression yourself, using only python and numpy..."
(https://www.quora.com/How-can-someone-with-almost-no-technic...)
As a college sophomore, how can I prepare myself for artificial intelligence?
Ian Goodfellow:
"Take classes on linear algebra and probability
Take classes on how to write fast code that is friendly to the hardware you’re working with.
Take classes on how to write good high performance, realtime multithreaded code.
Read Deep Learning.
Pick a simple machine learning project that interests you.
Work through this project, and when you have questions about the material you read about machine learning, trying to answer your own questions by running experiments in your project codebase.
If your university has them, take classes on machine learning, computer vision, natural language processing, robotics, etc."
(https://www.quora.com/As-a-college-sophomore-how-can-I-prepa...)
*You can find all the courses online.
The major sounds similar in intent to the Data Science major we introduced into our Bachelor of Computer Science at UNE (in Australia) last year. These days there is something of a branch in computing routes -- to express it in a very muddy way, designing and building the systems themselves (Software Development) versus applying machine learning algorithms, AI, and statistics across the data systems produce (Data Science). And of course there's other branches and specialisms too, but for our particular market those are what we have at the moment.
The level is still clear -- it's an undergraduate degree, and they are coming out with a good undergraduate's knowledge of the area. So that's entirely appropriate. There's no need to shy away from stating what they've been focusing on (offering a named major). And we do find they are useful and in demand.
As I said, no expert in AI & ML, but I don't see anything that differentiates them from other domains earlier (and wrongly) regarded as beyond undergraduate work.
The issue is whether a field can be understood at a higher level, atop blackboxes. All abstractions leak, but some are good enough.
DL NNs are no where near being a science yet - it's empirical let's try this architecture. But... you could have a trade-school technician degree in present techniques that can be applied. Like an electrician.
You could also have a degree aimed at preparing you for graduate AI - which would include a lot of mathematics.
I find that the understanding and ability to visualize the mathematical concepts is the important part, for everyday practitioners. It is not necessary to be able to derive a gradient in order to understand the differences between sigmoid and hyperbolic tangent. Being able to do the calculation on paper is not a prerequisite for understanding the process.
The rigorous mathematics come into play if you wish to advance the field as a whole, but is not necessary to successfully design and train efficient models.
I suppose there is a use for precisely describing things that we do not actually understand, but I don't think it is a pre-requisite, at this early infant stage in ML/AI.
(... though I get the sense from the outside looking in that a lot of machine learning at this point is still a little bit alchemy, so there may not always even be a firm "why" answer to give. All the more reason to give students firm general fundamental groundings so they can seek out those answers).
I find it scary that you're asking the second question. I think any accredited university handing out CS diplomas should make sure their graduates know what TCP is, especially CMU, which will theoretically be sending its graduates to good companies
Nope, look at the curriculum again.
Perhaps you should take a look at the curriculum again like I told you, instead of spewing out falsehoods like “churning out candidates who don’t know what tcp is”.
You’re not entitled to your own facts.
I see an Introduction to Computer Systems course which looks like the only thing that could potentially teach networking, but from looking at the curriculum, it does not. Can you please find the course on this list that teaches networking, even if it isn't in-depth?
Whether they still remember it many years down the line is a different matter :)
Because these students will take none of these courses, they will differ significantly from those with a BS in CS. But their AI skills still won't run deep enough to make them expert there either. At best, they'll be conversant with a couple of foci in AI, but not in many other AI areas.
In fact, this program seems custom made to prep for work most typical at Google, Facebook, Microsoft, and not that many others -- doing pattrec forms of ML on large data. Yet they'll lack the skills typical of today's data engineers (basic ML plus HPC/distributed/throughput, networking, and DB /sys admin) or typical of data scientists (nasic ML with a BA in statistics, plus facility with RDBMSes).
Will the absence of these CS skills hamper their competitiveness one day in most mainstream general computing software jobs? I think it probably will.
Therefore, if those with this degree don't spend their entire careers working only in big data areas of AI, they will likely will be at a competitive disadvantage to those with broader skills in CS.
The core that's required in both programs (15-122, 15-128, 15-150, 15-210, 15-213, and 15-251) is very broad and touches pretty much all of those areas. To be clear, hardware design isn't covered there, but the (x86-64) programmer's side of memory management and the CPU is covered well.
Other than algorithms, dedicated courses in all of those areas are offered as electives and you pick some of them. I recall taking OS, security, digital design / RTL (which was actually in the ECE department), web, and logic - but I could have subbed OS with Parallel/HPC, for example. The BS in CS curriculum[1] requires enough free and area electives that students gain depth in several of those areas.
> Because these students will take none of these courses, they will differ significantly from those with a BS in CS.
The BS in AI curriculum[2] only requires two CS-wide electives, so students in that program will indeed have depth in fewer of the areas. This is why these students will receive BS in AI degrees, to differentiate them from those who receive BS in CS degrees. I think you're in agreement with CMU's decision here?
That said, with the broad base of the core classes like 15-213 and the second half of 15-210, plus implementation details covered in the AI/ML courses, I'm sure no graduate of that program would struggle with HPC, networking, or DB/sysadmin in the workplace, or in a graduate program in AI.
Ultimately, there's only so much you can fit into four years, but I'd bet it would be easier for someone from this new program to deepen their skills in those areas, than it would be for most BS in CS graduates to add ML skills.
[1] https://csd.cs.cmu.edu/academic/undergraduate/bachelors-curr... [2] https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...
(And this is coming from someone who TA'd one of those language theory classes ;) ).
I am now much more versed in Nash equilibria than I ever thought I'd be, but damn, that class took a chainsaw to my GPA.
Awesome school though, would do it again.
I only have anecdotal evidence of this, but more so than just about anywhere else, CMU as a university prides itself on a very difficult workload and a lot of the solutions that students come up with are extremely unhealthy.
And on top of that, in our freshman year they had us all come to an auditorium to tell us this: "Sorry, we have to fail half of you out because there are too many of you. Look to your left and then to your right. Those two students will be gone." Any EE in that class can testify to the truthfulness of what I say.
The problem is that (a) students are young and many of them are quite inexperienced with managing their own time and work, (b) students are so stressed and sleep deprived that it is hard to introspect about process or get into a productive rhythm of focused productive work alternated with rest, and (c) there is often a workaholic student culture which creates peer pressure and presents the illusion that staring at a textbook for hours while already half asleep is the mark of a good student. For grad students (especially foreign students) sometimes there is additional pressure from abusive advisors.
It’s sad that e.g. MIT’s unofficial motto is “I hate this fucking place”.
Unfortunately the same kind of culture extends into some people’s professional lives. I dated a lawyer for a while who was a few years out of law school and working for a big firm, and with all the hours she needed to “work” and the few hours she could sleep each night her ability to think through complicated legal arguments or write briefs was severely compromised; sometimes she would be “reading” for an hour before bed with her eyes half closed, barely able to parse the words on the page. But that’s what the firm expected (and by their standards she was performing well), so she felt she had no choice.
So it's not like 16 hours of reading and trying to understand the material, more like 16 hours of school work.
I have taken Adderall for a few months, and I developed serious memory gaps. I have little recollection of several events during that time.
(Registering formally for a minor gives you preference)
I don't really have an issue with this degree, but I think it's mostly a marketing ploy to have a "major in AI" versus "AI concentration" or "AI minor" (set of electives alongside the normal CS degree)
Maybe these AI classes will be reserved for AI majors, so regular CS majors still have to pray for getting off the waitlist.
On another note, CMU was always very good at cross-disciplinary studies. (Building Virtual Worlds comes to mind). As the article points out, this new degree bridges over to the humanities and ethics. With where we are today with AI, isn't it a good thing to train the AI developers of the future to think about the implications of their work?
Edit: years to decades
> The bachelor's degree in AI will focus more on how complex inputs — such as vision, language and huge databases — are used to make decisions or enhance human capabilities
My understanding is that AI is more about applying ML concepts to mimic human intelligence.
The extra overhead graduates will have to deal with doesn't seem worth it.
"AI majors will receive the same solid grounding in computer science and math courses as other computer science students. In addition, they will have additional course work in AI-related subjects such as statistics and probability, computational modeling, machine learning, and symbolic computation."
They even say "other computer science students".
This is offered through CMU's school of computer science (SCS), so that is exactly what this is. CMU loves creating new sub-departments with SCS, for some reason, there are already 7 or 8.
The key thing to look at is what the CS major requires that the AI major doesn't -- in 8 semesters, you can only fit in so many classes.
I'm even more convinced this is for publicity (or other political reasons). There's nothing there that couldn't have been done by very slightly altering the CS requirements.
If CMU had done that instead, students would have the ability to take more AI classes, but they wouldn't be at a disadvantage if they decide (or need) to work in another field of CS.
I think you're greatly underestimating how much different the CS curriculum would become if they tore out functional programming above 15-150, OS, and Networking.
Consider the flipside: if they bent the CS degree instead of introducing a new AI degree, could higher-learning institutions continue to trust that a CMU CS undergrad had a solid foundation in functional programming, discrete mathematics, and systems theory?
I don't think a CS degree should be a trade program, but avoiding actively harming students job prospects by adding a few more electives isn't quite the same things as crafting their degrees for industry-marketability.
>they tore out functional programming above 15-150
I'm looking at the requirements for the BS in CS right now. I don't see any function programming requirements above 15-150.
>OS, and Networking
It looks like neither is required right now. Here's the relevant section.
Choose 1
15-410: Operating System Design and Implementation
15-411: Compiler Design
15-418: Parallel Computer Architecture and Programming
15-440: Distributed Systems
15-441: Computer Networks
Others as designated by the CS Undergraduate Program
> if they bent the CS degree instead of introducing a new AI degree, could higher-learning institutions continue to trust that a CMU CS undergrad had a solid foundation in functional programming, discrete mathematics, and systems theory?Looks like the functional programming, and discrete math requirements are the same.
Systems is an overloaded word, so I'm going to assume you mean software systems, since that requirement is what is removed. The systems requirement is already just chose one from above list. I don't think taking 1 network class means you have a solid foundation of systems theory.
The key difference on the deep-theory side is that CS and AI appear to swap out deep-diving into discrete math for deep-diving into statistics and statistical modeling. I'd consider those different enough to warrant separate degree tracks, personally.
(Your opinion of networking is noted but I do not share it, being somewhat familiar with what that course asks of students. It's every bit as preparatory as its sibling 15-410 class ;) ).
What discrete math classes were removed from the AI degree?
>(Your opinion of networking is noted but I do not share it, being somewhat familiar with what that course asks of students. It's every bit as preparatory as its sibling 15-410 class ;) ).
I looked over the syllabus and assignments for a section of that class. It looks like a bog standard networking class (bog standard for top tier schools that is). It's an elective. You can take an OS class, a compilers class, or a networking class. I don't think there is some intersection of knowledge/skill between those 3 classes, the absence of which would give higher-learning institutions pause.
My institution required that you take both an OS and a networking class before being admitted for graduate study. It's one thing if they require OS, and networking, and compilers. That they don't do that says to me that they don't consider them critical classes, since any given graduate could be missing any 2 of them.
We're pretty much equally happy if you hit layering in the network class or thinking about the filesystem and kernel VFS layers in the OS class - or the modular structure of a modern compiler. Tackling the idea of reliability through replication in distributed systems (via a lot of different mechanisms, but with a decent dose of Paxos), or via the Reliable Storage module in 15-410, or in DB. Getting additional hardware architecture exposure through compilers or the parallel class. Thinking about communication using a fast local interconnect (parallel), the internet (networks & DS), or IPC (OS). Compilers can be more or less of a systems course depending on who teaches it, but it's generally got such a strong architectural component that it flies.
It's much like programming languages. We don't care much if you graduate knowing a particular language -- any CMU CS graduate should be able to pick up a new language in short order. We care greatly that you've been exposed to a mix of programming styles and thinking -- imperative, functional, and logical or declarative, and can successfully use those tools to reason about code, program structure, algorithms, and data structures.
So no, we absolutely don't consider it critical that you take any specific systems course, but we do consider it critical -- for the CS major -- that you be exposed to the broad set of systems concepts we teach in them. That's why we start them in 15-213 and then reinforce them with one upper-division systems elective requirement.
I completely support this philosophy.
> Compilers can be more or less of a systems course depending on who teaches it
So what happens when it's less of a systems course? Do students taking that section lack a critical component of the CS major?
Software Foundations includes, for example, the use of type systems to ensure bug-freedom, program semantics, and more. Matt Fredrikson focuses on the intersection of formal programming languages research and security. For example, lecture 3: https://15316-cmu.github.io/lectures/03-safety.pdf
Cyber-physical is one of the hardest classes I've ever seen. Seriously - it combines very solid differential mathematics with logic and formal verification. It's a different set of skills than Semantics, but it combines a really solid dose of the same kind of logical and proof-centric thinking that advanced PL courses do. And rapidly runs into the logical underpinnings of both fields. For example, lecture 13: http://symbolaris.com/course/fcps16/13-diffchart.pdf
(In large part, this is because the course relies on identifying PL-style semantics of differential systems, and thus, students in the course end up being exposed to nearly identical proof methods as they do in the more straight-up PL semantics course, in addition to a lot of differential equations.)
After I looked over the assignments for a section of Software Foundations, I don't think that taking an AI class instead would make much of a difference when it comes to having a solid foundation in functional programming, which is what the GP was talking about.
We also felt fairly strongly that supporting students who wanted something different from their education, which still falls under the broad CS umbrella but is different in some important ways -- was important.
These things are surprisingly hard to juggle. Eight semesters, four courses per semester, juggling cross-university requirements, some amount of personal electives and fun, and an intensive set of major courses, doesn't actually leave much wiggle room, especially when you include the prerequisite dependency graph of those courses.
Hence, it's a different major, because it reflects a quite different set of skills that {employers, grad schools, whatever} can count on the graduate knowing.
(There's also value in providing a roadmap for sequencing these things, again because of the prerequisite chains, but I concur that that alone isn't a reason for a major.)
And yes, of course it's all a continuum. We call AI a separate major, alongside things like HCI and computational biology. We don't have an "operating systems" major. If you like systems a lot, you still have to take all the normal algo/PL/etc. breadth requirements.
It's all a judgement call. The feeling here is that AI/ML are starting to contain a sufficiently different set of core skills that it was worth breaking them out into their own major instead of just saying "eh, go take some electives, and try to fit in all of your interests while _still_ taking all the other CS classes." Because that's what we used to suggest, and the students rightly pointed out that it wasn't possible to do it right within the existing degree framework, at least, if you wanted to sleep.
That's just it. No radical alteration was required. You're already saying that: "AI majors will receive the same solid grounding in computer science and math courses as other computer science students." But if CMU had added a new concentration or specialization to the existing major this story wouldn't be on the front page of HN.
There is no way that at some point in the discussion "This will be a big publicity win for us" wasn't brought up by someone.
In general I think it's bad advice for undergrads to pursue hyper specialized degrees. I think it's a bad idea when engineering schools do it with things like robotics engineering, and I think it's a bad idea when CS departments do it with AI. Specialization is what grad school is for--this isn't the UK. I also think that schools that offer these degrees are doing a disservice to their students.
There are enough AI related courses available now at many schools that it seems useful to separate "more general Computer Science" from "a focus on Artificial Intelligence", and similarly I think there's room for a separate major in "Software Engineering" as opposed to theoretical computer science.
To me, it's more a difference in degree than kind. To be effective with AI you basically need the equivalent of a CS degree anyway. The same isn't true with EE/CS.
If history is anything to go by they will graduate right into an AI Winter.
A few very minor tweaks to the CS requirements is all it would take. But you wouldn't get the fanfare of launching a new major.
The advantage for students is that if they decide to pursue some other CS discipline, they don't have to explain their weird degree.
https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...
If you look over the curriculum and compare it the BS CS curriculum you'll notice there's nothing that couldn't have been done as a concentration.
Unless they really mean "CS-degree with surface level knowledge of stats" this should really be an offshoot of the math/applied math department, not CS
My father-in-law had a math degree and was a math professor, and then an EE professor — the latter while he co-founded an AI lab, that hired physics major Richard Stallman and other non-CS-majors.
Electrical engineering and hardware design didn't go away when computer science emerged - quite the contrary. One could be a computer scientist or a practicing software engineer without having a full backward in the underlying technologies (such as electrical and computer engineering, including computer architecture) and theoretical foundations (from the math side, although theoretical computer science clearly covers a lot of this). But for quite a long time, I think that computer science and the field of software were driving the most visible technological change in society and culture.
I wonder if that's no longer the case, and AI and data science are emerging "on top of" computer science. We may eventually have AI and/or data science academic departments that are distinct from the computer science department in a university. While there would certainly be an intersection of topics covered - just as there currently is with computer science and computer architecture and electrical engineering - I can see the needs of training a new AI and/or data science researcher and practitioner requiring a separate curriculum. I could see that happening if AI and/or data science become the dominant driver of technological change for society and culture in the same way generic "software" was during the latter half of the 20th century.
All of this is speculation, of course. But I think it's quite possible, and perhaps likely.
I don't think it's obvious that AI and data science will be distinct fields from CS. I just think it's quite possible, and if it does happen, this is the time people will point to when it started emerging on its own.
In my opinion, as time goes by and advancements are made, the coupling should grow weaker - and so we'll reach a point where there would be a more clear distinction between the two tracks, and they won't share much of the same curriculum, similarly to where we stand today with CS and electrical engineering.
In practice we learned nothing particularly useful what to take into account when deciding where to draw boundaries, and just focused on what was easy to represent in UML.
I still sometimes use UML sequence diagrams though.
Mostly, I like the focus on breaking down the problem domain in a logical way, so you can decide on which approach to take. The problem with the other courses I took (Machine Learning, Statistics, Computer Algorithms) is that they are so focused on solving specific problems that they often didn't adequately define the problem domain. I'd really recommend both Norvig's books to anyone interested in AI (in the broad sense).
For comparison, at the department of AI in Edinburgh, Prolog was very important and even actively developed to such an extent that current Prolog systems are still hugely influenced by "Edinburgh Prolog" (the original version being "Marseille Prolog"). Also, theorem proving is an important area of computer science with many connections to AI.
In Vienna (TU Wien), the related Computational Intelligence curriculum also involves a lot of logic, Prolog, constraint solving and formal methods, which play an important role in many areas of AI. It is a graduate degree though and assumes familiarity with many of the topics that are mentioned in this curriculum.
https://csd.cs.cmu.edu/course-profiles/15-151-Mathematical-F...
http://www.math.cmu.edu/~jmackey/151_128/infdes.pdf
This definitely has some aspects of formal logic in it and contains a few definitions about proofs, theorems etc. The logic-oriented aspects are covered in Appendix B ("Foundations"), which is currently unfinished.
Still, this is no substitute for, and clearly does not intend to be, a course on formal logic, let alone logic programming or model checking.
I think this is only true if you use a different definition of AI than the one likely used here. Expert systems aren't considered to be very effective tools for useful "AI" anymore. You can't define a procedure to recognize a happy face in logic programming, at least not with any degree of efficiency.
This cannot be the test to differentiate between AI and "AI"?
Engineering Science - Machine Intelligence Option
http://engsci.utoronto.ca/explore_our_program/majors/machine...
What is the difference between the Machine Intelligence major in Engineering Science, and an undergraduate degree in Computer Science?
While there are some commonalities between the Machine Intelligence major and what is offered through Computer Science, engineering offers a unique perspective.
First, graduates will have a systems perspective on machine intelligence, which integrates computer hardware and software with mathematics and reasoning. This enables a focus on algorithm development and the relationship between machine intelligence with computer architecture and digital signal processing.
Secondly, graduates will benefit from an approach that encourages problem framing and design thinking. Design thinking is a method for the practical and creative resolution of problems, which encourages divergent thinking to ideate many solutions, and convergent thinking to realize the best one. Students will be able to frame and solve problems in the MI field, and apply MI tools to problems in many application areas. These include finance, education, advanced manufacturing, healthcare and transportation. This field is in a phase of rapid development, and engineers are well equipped to contribute as a shaping force.
Also, what do you mean by "see the current ML hype as a glass half empty"? I take it that you are also disappointed with the recent research
I'm just getting into the field, but it seems to me at least in computer vision, voice recognition, and text to speech there have been great strides in the recent years
I personally wasn't disappointed — I'm really glad I did this as my undergrad. AI research however tends to go through periods of hype followed by disillusionment. There's a history of promising developments that hit a wall or fizzle out in the long run. That's not to say there hasn't been progress (there's been tons!), but based on track record alone, it's prudent to be skeptical of overly optimistic pronouncements — we're probably much further from the "singularity" than one would think, based on current wave of ML hype anyway.
For your - and my - sake I hope that that is true. If not all bets are off and you might not like the end results.
But all these recent advances are not just hype. It’s real. Anyone who has been following this area for a long time knows that some big problems (like large-scale image classification) have been solved, and in an orderly way that builds on prior work going back to the 1990s and before. (My ML PhD was in 1995.)
Nobody here is referring to the “singularity” - that is obviously speculation that has nothing to do with the CMU program.
That seemed really odd to me then. Seems even odder now.
"AI majors will receive the same solid grounding in computer science and math courses as other computer science students. In addition, they will have additional course work in AI-related subjects such as statistics and probability, computational modeling, machine learning, and symbolic computation."
You can see the courses here - http://www.drps.ed.ac.uk/18-19/dpt/utaintl.htm
If it's 3rd or 4th I was one of the judges at your systems design practical.
That said: some of the AI students who didn't have to take any CS courses chose not to take the suggested ones... then had a really hard time in a few of the later courses. Computer Vision was brutal for them.
The situation is slightly different now. Edinburgh has a foundational "Informatics" (being the combination of CS, AI and Cognitive Science) curriculum. Students in those disciplines start with that, and then fully specialize in the later years of the course.
As a more or less completely unrelated side note: Sethu Vijayakumar, one of the judges for the last couple of seasons of Robot Wars UK, was my dissertation examiner.
In 1st and 2nd year, you would do the same Maths and CS course as CS/SE; you didn't get an elective it was a separate AI course, which covered the basics.
In 3rd/4th year (honours years as they're called here) - IIRC you'd have to take 8 courses in 3rd (plus an individual project and a team project) and 6 in 4th and your dissertation. Depending on the degree specialisation; you had to take some mandatory courses (CS only had to do Compiling Techniques and Algorithms, AI/CS didn't have to do CT - but they had to do Algorithms and Computability and Intractability). So, the two departments were very closely aligned and then were brought together into a new department/school within the Science and Engineering faculty.
They also offer a single AI honours degree now, but the structure seems very similar to what I experienced, with perhaps a bit more freedom in 3rd and 4th year.
Interestingly, while the majority of students were AI/CS or AI/SE - they also had joint honour programmes outside the faculty - so there were a few students who were AI and Psychology as well as AI and Linguistics. I don't believe they offer this combination anymore.
edit: slightly awkward phrasing in my original comment above. Amended: They were (and still are!) very forward thinking.
For me at least, it depends almost as much on who's doing the teaching than it does what's being taught. Generally for me, the highlights were any course taught by Barbara Webb or Jon Oberlander.
Why would that be? The Perceptron is very much a part of Neural Networks no? Wouldn't it be common now?
I understand about Prolog being a big part of AI curriculum from that time but why was the Matlab so heavy?
As for why Matlab was used a lot: because it comes "batteries included", I suspect. Probably the same reasons that Andrew Ng used it as the teaching language for his Stanford/Coursera Machine Learning course. Plus a lot of my lecturers had maths backgrounds.
I can only speak for my current employer (Google), who look very favourably on degrees from Edinburgh. It's one of the four UK universities we recruit from directly.
As for the course title, there's also "Computer Science" in it, which people can latch on to if they need that. When people asked about the AI part of my course I would say "Software Engineering is 'This is what works', Computer Science is 'This is why this works', and Artificial Intelligence is 'I wonder if this works'".
Also wow, Great Theoretical Ideas in Computer Science[1] is a hell of a course. Induction, DFAs, matchings, TMs, complexity, NP, approximation and randomization, Transducers, crypto, and quantum algos. That's a lot of material, even if most of it appears to be only introductory level.
213 and 251, the twin terrors.
I dont call this AI, I call this automation.
I know AI is a buzzword, but unless something is trying to think, its not AI to me.
What they are talking about seems to be automation through lots of code.
But hey, I havent been keeping up with this field, not sure what people are calling this.
How is this automation and not AI?
The question is should we name this after the smallest denominator (machine learning) or the biggest one (AI). Also, in the short term future, more and more real AI (i.e., not machine learning) will probably be integrated in those classes, so why not skip one painful rebranding step.
I think the real issue appears that the media has confused people as to what "ai" practically means from a compsci perspective.
Your definition doesn't match the real definition. Technically, a hard coded rule-based decision algorithm is a form of very basic AI. You seem to be confusing ML and AI- ML is a subset of AI that focuses on training a complex model.
I do know that I focused on AI in my electives for UMich's CS degree circa 1990, and from the sounds of it the AI I studied will have literally nothing in common with what is described as AI for CMU's new degree.
I think that having a focused degree in AI makes sense. I think that AI has reached the level of maturity that a separate curriculum should be made for it.
Just as we had no distinction between computer scientists and software engineers we now face a world where AI and or Data Science require a different focus on education.
Mostly it's plugging .CSVs into google's cloud platform tools, but sometimes I get to peek at some homebrew R or python modeling stuff.
He (nor any of us that he pulls in for big projects) will never do research for MIT or OpenAI, but money is already being made in "AI." If his business ever explodes into a full blown company, these undergrads are exactly the kind of people he'd hire.
I have done automation in python and I never thought it was AI.
Mate no offense but I find semantics arguments super boring. The kind of work my friend does is exactly the sort of stuff they teach in AI courses. You wanna call it "bananabananafruitypoopoo" that's fine by me, "automation," sure, whatever.
These are all standard ML/AI courses
I was also surprised to find out they brought 15-151 (Math Foundations of Computer Science) back.
https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...
It seems reasonable to me. They are required to take 7 humanities courses. I certainly hope they are required to take a lot of other classes where they are required to read, reason, and write.
Regardless, even if a student no longer decides to pursue AI research or employment after graduation, they still have a marketable skillset for a variety of jobs.
https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...
For 85-712 COGNITIVE MODELING:
How Can the Human Mind Occur in the Physical Universe? 2009 Author: Anderson, John
ANSI Common Lisp 1996 Author: Graham, Paul
For 85-211 COGNITIVE PSYCH:
Cognitive Psychology and Its Implications 7TH 10 Author: Anderson, John
For 85-814 COGNITIVE NEUROSCIENCE:
No books listed.
For 85-421 LANGUAGE AND THOUGHT:
Language in Mind: An Introduction to Psycholinguistics 2014 Author: Sedivy, Julie
I'll update this with more books shortly.
For 15-386 Neural Computation:
From course website: http://www.cnbc.cmu.edu/~tai/nc17.html Trappenberg T.P. (TTP) Fundamentals of computational neuroscience, 2nd edition, Oxford University Press 2009 (required/recommended). Hertz J, Krogh A, Palmer RG (HKP) Introduction to the theory of neural computation., Addison Wesley 1991 (reference).
For 15-150: Principles of Functional Computation:
From course website http://www.cs.cmu.edu/~15150/ There is no required textbook for the course. All material we expect you to be familiar with will be covered in sufficient detail in the lectures and lecture notes. There is an optional (and free!) text which some students find useful, called Programming In Standard ML (PSML). This book is based on the lecture notes for the predecessor to this course, 15-212.
For CS 15-122: Principles of Imperative Computation:
http://www.cs.cmu.edu/~15122/syllabus.shtml No textbook, but uses C, Emacs, Linux.
For 15-381: Introduction to AI Representation and Problem Solving:
Artificial Intelligence: A Modern Approach, Third Edition (Typical at most schools for teaching Intro to AI/ML.)
For 10-401: Introduction to Machine Learning
Machine Learning, Tom Mitchell. (optional) Pattern Recognition and Machine Learning, Christopher Bishop. (optional) Machine Learning: A Probabilistic Perspective, Kevin P. Murphy, available online, (optional)
Still waiting for CMU to launch an Undergraduate Degree in Digital Currency, though.
To me it was just "the cool CS electives that you get to do if you get all the math, stats and signal processing down pat."
Sad news is that the fields that make up these interesting classes are things that people do PhDs in, so unless you get a PhD you're unlikely to get anyone to pay you to do them when you're done and will get stuck making the help button for the Google Cloud for Education Administrators Console anyway...
http://www.scmp.com/tech/china-tech/article/2144396/china-lo...
Good to see that other undergrads are going to have access to AI/ML courses rather than them being solely for post grads.
Maybe i'm wrong here, but our biggest painpoint hiring for our datascience team is lack of dev skills. Simple stuff like deploying a model to heroku & or writing tests
https://csd.cs.cmu.edu/academic/undergraduate/bachelors-curr...
So that student would pick AI-ish classes using their applications elective and two CS electives.
In contrast, the AI curriculum:
https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...
Removes several of the required courses from the CS curriculum (such as the upper-division systems requirement - OS/networking/distributed systems and the logic & languages requirement), adds another required math course (modern regression), and then uses the space from those freed-up courses to add a bit more depth in the AI core. It also shifts the set of available electives towards a more stats/ML/AI-centric group.
It's not a huge change from our CS curriculum, but it's one that lets AI/ML-interested undergrads create something that's more stats-heavy and deeper in AI than they would have been able to with the CS version. Keep in mind this is all still within the school of computer science.
This doesn't change things at the masters and Ph.D. level.
(Not to mention the notable lack of the utterly gigantic forest of higher-level discrete math concepts and programming language theory. Were I in a place to re-do an undergraduate career, this would have been very appealing to me relative to what CMU offered).
The IRB certification process alone delivers more practical education on ethics (and what has happened in the past without them) than many formal courses in the subject.
Looks pretty serious to me
Modern Regression is a 400-level statistics course at a school that values statistics and AI.
Many of the higher-level electives will involve sophisticated projects--not 2 semester capstones to be sure, but month-or-longer open ended projects.
Not really sure what you're expecting out of undergrad programs, to be honest.
That is a depressing definition of artificial intelligence.
E.g., yes, continue to have seminars with graduate students and professors with, call it, solutions looking for problems but also have people from outside academics with problems looking for solutions.
In the halls, should find, yes, students and professors but also eager, determined people from outside academics with problems looking for solutions. So, in part the halls should look like the ER of a major research-teaching hospital, like a cardiac center, stroke center, trauma center, birthing center, oncology ward, etc. working on important real problems from outside academics.
So, some problems will yield to data collection, filtering, exploratory data analysis (J. Tukey), graphing, descriptive statistics, cross tabulation, some simple hypotheses tests, etc.
Some problems will yield to optimization -- differentiate, set to zero and solve; linear programming, multi-objective linear programming, network linear programming, integer programming, quadratic programming, non-linear programming, convex programming, etc. There can be approximations, Lagrangian relaxation, achieving necessary conditions for optimality, exploitation of particular problem special structure, heuristics.
There can be classic statistics, especially multi-variate statistics, regression, principal components and factor analysis, discriminate analysis, experimental design and analysis of variance, catagorical data analysis, time series analysis.
And there can be more advanced tools in deterministic and stochastic optimal control, more in probabilistic and stochastic model building, etc.
There can be work in natural language understanding, computer vision, and robotics.
Some of the work for routine solutions can be done by students as part of apprenticeship, meeting and working with people from outside academics, etc.
Then for the better stuff, some of the more serious problems from outside academics can be the start of research for students or faculty. Partly the justification for the research would be the importance of the real problem.
There is an old recipe for rabbit stew that starts out, "First catch a rabbit.". Well, a recipe for applied STEM field work could start out, "First find an application ..." or at least a good problem. Then, sure, look up, stir up lots of good theorems and proofs and algorithms and code but focused on the motivating real problem.
And then the research already has one good application. At that point, curiously, importantly, the chances of another application are relatively high, that is, higher than a first application for work with so far zero applications.
So, maybe CMU can develop some relatively broad expertise in, say, scheduling, logistics, supply chain optimization, facility location, monitoring, automation, etc.
When especially good results have been obtained for some business, sure, the Chair of CS, the Dean of the School of Engineering, the President of CMU, and various CMU Trustees might call the business CEO and mention that CMU has a fund .... That is, solicit donations!
When the program is established with good credibility, audit the financial benefits obtained and suggest that 10% back to CMU will get a seat a the Dean's Round Table, etc.
Research-teaching medical schools deal with real problems and also make progress in research.
Academic departments of engineering, etc. should do much the same.
However, top tier PhD programs are not and never will be highly discounted consulting shops. At places like CMU grad students have perhaps more academic freedom than even their advisors. And good thing.
The day CMUs of the world become "Accenture with cheap student labor" is the day basic research dies.
So, my experience is that what I suggested is not a danger but motivation and stimulation of a lot in pure research.
Having some students do some work with people from outside academics is crucial for their professional development. Of course the work will have graduate student and faculty supervision and high quality. The students should welcome the business world contacts.
There is a lot of the very best pure medical research in labs not far from the wards with dying patients. In important senses, that there are real patients there with their lives literally depending on the results of the research helps both the patients and the research.
It is very much a fact of life in life, applications, and also pure research that a lot of good motivation is from good to excellent. In particular in research, for the younger researchers, finding good problems to work on is one of their most severe struggles. Well, in medicine, a young physician in a research-teaching hospital everyday can see, does see, patients dying in the wards, and that work can help the researcher find good problems to work on.
For your
> Whenever it makes sense to ground research in practice, CMU professors generally do so by working with industry and govt collaborators.
"Whenever", quite commonly and generally and no exceptions? Amazing. I'm thrilled. Good for CMU. Since one of my Ph.D. dissertation advisors was long President at CMU, maybe he was in part responsible for this amazing, thrilling situation?
Color me skeptical: My long experience in and around research tells me that pure research needs much more contact with and stimulation and motivation from practice. Yes, some pure researchers have found really good pure research problems and directions, and, then, they should continue on, but much more common is what I explained, using practical problems as motivation and stimulation, and justification, for research that might be, in my experience often can become, nicely general and pure. Or, if the research is all just routine, then pass the problem off to a ugrad for a class exercise, term paper, or senior honors paper. Else push forward for better results and encounter some real research problems.
Here is a big example: During WWII, G. Dantzig was working on military logistics, e.g., what to ship where, how, when to aid the war effort. After the war, at RAND for, IIRC, the USAF, he continued and as a first cut invented linear programming. About then a special case of that, for the transportation, problem, the "translocation of masses" resulted in a Nobel prize in economics for L. Kantorovich. So, linear programming was already making progress enough in pure research to yield a Nobel prize in economics. And there were some more Nobel prizes from linear programming and optimization.
To solve linear programming problems, Dantzig invented his simplex algorithm, basically a nice tweak on Gauss elimination for systems of linear equations. Cute. Not very pure but at one time rated as one of the most important pieces of work in engineering of the 20th century. In practice, nearly always it is shockingly fast, and it took some nice work decades later in some relatively pure math of computational geometry (K. Borgwardt) to show why it was so fast.
Continuing on, soon enough it was observed that, often in practice, it was required that the variables be restricted to whole number values. That is, the real, practical problems were often integer linear programming (ILP). IIRC, first cut, Dantzig expected that a tweak of his simplex algorithm would be able to handle that.
Work on ILP continued, for decades. There were lots of important practical problems for motivation, e.g., network design at Bell Labs. That problem has remained important, e.g., was the subject of an A. Goldman lecture at Johns Hopkins by MIT Dean of Science T. Magnanti. And there was progress on solutions.
ILP was taken seriously by, okay, Princeton grad R. Gomory.
By then computer science had discovered the problem of sorting, saw that simple bubble sort ran in O(n^2) but that heap sort ran in worst case and average case O(n ln(n)) and met the Gleason bound and, thus, was in the sense of big-O the fastest possible sorting algorithm for sorting just by comparing pairs of keys. So, this was progress in computational time complexity. Since heap sort is also in-place, it was also progress in computational space complexity.
So, with both the practical successes and the struggles of ILP and the practical success of the simplex algorithm and the specter of O( e^n ) for ILP, there was the serious research question of what would be the fastest algorithm in worst case for ILP. This question was asked and explored at Bell Labs and resulted in the now famous
Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, ISBN 0-7167-1045-5, W. H. Freeman, San Francisco, 1979.
So, from there ILP is, yes, in NP-complete.
So, now we have at Clay Math in Boston a prize of $1 million for the first solution of the problem in computational time complexity of P versus NP, generally considered one of the most important problems in both pure and applied math and computer science.
Lesson: Practical problems, taken seriously, can result in some of the most important problems in pure research, and some of the progress in pure research can help get solutions to some practical problems. The motivation from pressing practical problems can help drive the research in both pure and applied research.
In particular, the OP was about CMU, CS, and AI. From what I've seen and heard about AI, a lot of what is of interest now, and likely a big part of the CMU AI ugrad program, is "modern regression analysis". Maybe CS and AI need modern here because otherwise they are open to accusations of reinventing and pushing out a lot of hype about some multivariate statistics quite mature as math 50+ years ago.
If CMU CS and AI are willing to take regression so seriously, also going for some of what I mentioned, e.g., convex programming, stochastic optimal control, should be regarded as much more worthy. Making stochastic optimal control more practical is one heck of a challenge but with some progress possible, e.g., as now at the ORFE Department at Princeton.
And we should note that much of the AI interest in regression is based on the work of L. Breiman in Classification and Regression Trees (CART). Breiman was, IIRC "an academic probabilist"; his text Probability (one of my favorites, e.g., for measurable selection) was all based heavily on measure theory; and his work on CART started by trying to get fits and predictive models starting with complicated data from clinical medicine. So, here again, some pressing practical problems in practical medicine led Breiman to CART which is now one of the main pillars of AI. Given that background, the CMU CS AI program should welcome the level of contact with real problems I described without your concern about the death of pure research.
I'm pretty sure I explicitly agreed that this is often the case in my original post, so we must be talking past one another :)
What I'm arguing for is basically just academic freedom: the freedom of faculty and students to make choices about where they should resarch agenda. As your extensive history demonstrates, THIS APPROACH WORKS! All of those people chose to engage with industrial because it made sense for their research agenda!
More importantly, we can come up with an equally lengthy wall of text detailing accomplishments that would not have been possible without the freedom to work on things that industry isn't all hot and bothered about. E.g., neural nets until about 5 years ago!
And an even lengthier wall of text describing silly research agendas that only existed because of industry hype (AOP anyone?)
Industry collaboration can be a tremendous impetus. However, it can also be a distraction from more important problems or even an impetus to focus on silly problems. Professors and students should be incentivized and encouraged to do good research; industrial collaboration can sometimes be a useful tool, but it is a means, not an end.
Finally, IMO, the central premise of your argument (that there's not enough collaboration) is not factually accurate in the current climate. Read the proceeds of any major AI conference. Filter out papers written at top universities. Count the number of papers with vs. without an industrial collaborator named in the acks or even in the author list. Failure to collaborate isn't a failing of modern mainstream AI research.
If current academic AI research is too close to non-academic problems, okay, I can believe that but see little downside since I have no respect for 90+% of current AI work anyway.
Net, contact with non-academic problems is crucial for STEM fields but with bad work can be abused. Of course it can be abused, special case of the general situation that nearly anything can be abused.
I spent a lot of time in STEM field academics: My considered, solid, well informed opinion is that there is far too little contact with important non-academic problems. E.g., when I went from Director of Operations Research at FedEx to graduate school in applied math, I brought with me a nice collection of important practical problems. In casual conversations, as I described some of those problems, even very pure research profs took detailed notes furiously. When I was an applied math prof in a B-school and MBA program, there were nearly no people from business in the halls with pressing problems looking for solutions, and that situation was really bad for the the business people, the students, the faculty, faculty research, and the B-school.
The suspicion has to be strong that if a research-teaching hospital were run like a B-school, then the physicians and researchers would be off studying the possibilities of silicon-based life on the planet Faraway, no one would know even how to dress a skinned knee, there would be no progress on any of the major, pressing medical problems, e.g., heart disease, cancer, and no one would want to go to a hospital no matter how badly they hurt.
Well then, I think we're violently agreeing. However, a couple of observations.
> e.g., maybe get to upgrade their 20 year old used Mazda to a 10 year old used Toyota and celebrate with a toast of tap water!!!
Here is CMU's dean on what happens to faculty with successful AI/ML research agendas: "How to retain people who are worth tens of millions of dollars to other organizations is causing my few remaining hairs to fall out".
I didn't realize how expensive used Toyotas have gotten...
>...applied math
I'll again reiterate that CS and especially AI have a completely different culture.
Also, this sentence seems to somehow undermine your entire thesis:
> If current academic AI research is too close to non-academic problems, okay, I can believe that but see little downside since I have no respect for 90+% of current AI work anyway.
That's like comparing any Ferrari model with a Corolla. Not saying Udacity is bad. I mean a Corolla is a great, cheap, pragmatic and utilitarian car, just like Udacity is a great, cheap, pragmatic way to learn academic topics.
But you really can't compare the two things. Carnegie Mellon and Udacity are extremely different and non-comparable in any rational way.