Quantum computing is still a bit niche, no? And graphical notations already existed in physics and quantum computing, I believe. What does the category theory do here, except reformulate things that experts already understood, but in category theory language?
I think a convincing application of category theory should involve doing calculations with category theory concepts and definitions, which involve things like: commutative diagrams, representable functors, universal properties, adjoint functors. If a whole heap of these concepts doesn't get used - and you don't perform calculations with them - then you're just reformulating something using different terminology.
In module theory, which is a bit close to ZX, category theory gets used in a big way to calculate things: See left/right exact functors, co/contravariant functors, derived functors, the hom-tensor adjunction, etc.
would you say that 3 reformulates 1+1+1 in another language? because if yes, such reformulations shouldn’t be disregarded just because they’re “reformulations”. so we can say there are kinds of reformulations which make things incredibly easier, and category theory is one of them
Why do you think category theory makes it easier? That's one thing category theory does not do. How well do you understand the subject?
There is a category theory "school of thought" in many subjects, which believes without solid evidence that category theory must be immensely useful to their subject. But it's often just that: a school of thought. This is the situation of category theory in CS. My concern is that people aren't being honest about this.
you’re right, and I’m in that school of thought, but mainly for math. In essence, I know people who use it in their reaearch and I trust them (and there’s a lot of good people doing good stuff with CT—it’s ubiquitous, so I’m fine with trusting them). I have a beginner understanding of CT, actually I finally started studying it seriously a month ago, after being exposed to it sporadically for some time. I’m not claiming anything about CT in CS, but I’m optimistic about that it can have a more widespread positive effect in it
The specialization did a good job of explaining all of the basic concepts of RL in a fairly understandable way. The instructors don't assume a huge amount of prior knowledge, and make it pretty accessible. They split reasonably between theory and applications. I would say that you need some background in math and ML.
The courses do build upon each other. You could do just the first course and get a good overview of RL without diving into the details, but I don't think you could start midway through the specialization.
I would also suggest looking at the Hugging Face Deep Reinforcement Learning course. That one is very different (focused more on application than diving deep into the theory), but it's taught by a non-academic and really tries to explain the concepts in a way that is approachable to most programmers.
"Grokking Deep Reinforcement Learning" by Miguel Morales and "Deep Reinforcement Learning in Action" by Alexander Zai and Brandon Brown both look promising, though the code might be outdated. Looks like they use the OpenAI Gym environment, which has since been forked and maintained as Gymnasium.
Basic probability/stats and some basic fundamentals around dynamic programming/recursion would be very helpful.
The big problem I found with this field is that the core ideas are very subtly built on top of each other. Without a proper teacher or an environment to study, self-study is much much harder.
(Past chapter 5, it should be a breeze as the foundation would have been strongly set)
This is very inspiring. I too am young and been in the work force for several years, but unlike the other comments in this thread I am
not settled down as an older student returning to school.
I am willing to give up a high paying salary to return back to school as a PhD student and I am
not tied down with a mortgage or anything else.
I find mathematics simply too interesting to not learn at the highest level. Working in industry will simply not teach me the material I want to learn. I’m considering going back for either a PhD in Math or a math heavy PhD in CS. I read math textbooks for fun and worked with tutors to ensure my proofs are done correctly. I can do this for hours on end without external motivation. I taught myself a lot of math and can see myself doing this as a career. I want to do research.
Most people my age say the same things in the comment sections in this thread (tied down to a mortgage, make too much money to return). I’m glad generalizations like these don’t apply to me and can’t wait to get back to school
Often your advisor in grad school will force you to focus on what they want rather than what you want to learn. This is less likely in a math department, but more likely in a CS one. As with everything, it all depends on your advisor.
The PhD is replete with hoops you have to take that will be orthogonal to your goal of learning (e.g. spending a lot of your time doing HW on the professor's pet topic when taking a course). Someone I know who retired somewhat young (early 50's) enrolled in a PhD program because he loves to learn. He dropped out within two years because he found it fairly inefficient in learning the topics he wanted to learn about (he had a career on mathematical topics and can handle the math). Unlike younger folks, time is precious for him, and being efficient is more important to someone in their 50s than in their 20s.
If all you care about is learning and not the actual piece of paper in the end, it may be more efficient to get a less demanding job and use your spare time studying what you want to study. Do it right and you'll make more money than you would as a student, and potentially learn more than you would in grad school.
Finally, PhD is about research. Yes, you will learn a lot, but learning is not the goal. A lot of people drop out because they realized they loved learning much more than doing research, which will involve large chunks of your time being unproductive. If you plan to do a PhD, you will have to draw a line at some point and say "OK, those 10-100 things there that really interest me? I have to drop them forever so I can do research." If you opt not to do research, you can learn a lot more.
While everything else you say may be true, I take issue with efficiency being a function of age. Fundamentally you have no idea how many years you will get. Be efficient at all ages, and live like it might (and might not!) be your last year, regardless. Personally I’ve had close brushes with death a couple times in my life, and the dice roll could easily have gone the other way. I’m sure I’m far from alone in this.
I did not mean to imply one shouldn't be efficient at all ages - just that those doing their PhDs in their 20s do not value it as much as those in their 50s.
Also, those in their 20s often haven't lived long enough to know how to gauge their efficiency. The person who has spent decades working 40 hour/week jobs knows better the value of less free time.
Where can people who are interested in learning math find math tutors? I'd like to engage a math tutor though i don't think I would pursue a math PhD :)
For sure. I'll list some books for introduction to proofs, abstract algebra, real analysis, topology and category theory.
These are not comprehensive, just listing books off the top of my head. I'll definitely be leaving off personal favorites other people have. You'll like some better than others. Some of these are beginner books and some are more advanced. A good tutor can help you get through the more advanced books. I tried to list the most beginner friendly book first in the list under each subject. Then the more advanced books later in the list.
Introduction to Proofs:
Just pick one of these that speaks to you the most. All three are good.
Discrete Mathematics with Applications - Epp
Discrete Mathematics and Its Applications - Rosen
Mathematical Proofs: A Transition to Advanced Mathematics - Chartrand, et al.
Abstract Algebra:
How to Think about Abstract Algebra - Alcock
Abstract Algebra - Pinter
Abstract Algebra: A First Course - Saracino
Algebra - Artin
Abstract Algebra - Herstein
Abstract Algebra - Dummit & Foote
Linear Algebra:
Maybe an engineering based book first if you haven't seen linear algebra in a while (e.g. Strang or Linear Algebra: Step by Step by Singh).
Then:
Linear Algebra - Friedberg, et al
Linear Algebra Done Right - Axler
Linear Algebra - Hoffman & Kunze
Real Analysis:
How to Think About Analysis - Alcock
Understanding Analysis - Abbott
Tao's Analysis text
Principles of Mathematical Analysis - Rudin
Topology:
Topology - Munkres
Topology A Categorical Approach - Tai-Danae Bradley, Tyler Bryson, and John Terilla
Categories and Toposes: Visualized and Explained - Southwell
Conceptual Mathematics: A First Introduction to Categories - Lawvere
Category Theory for Programmers - Milewski (if you like functional programming)
Programming with Categories - Fong, Milewski, Spivak (if you like functional programming)
Category Theory in Context - Riehl
There are a few others by Spivak which you may like.
If you don't know category theory whatsoever then I like Southwell the best (pair them up with his youtube videos). Eugenia Cheng also has a nice set of lecture videos.
If you already know math pretty well, then Riehl is a favorite.
Calculus is a subset of analysis. It's not really its own subject. Generally what people call calculus is a collection of results that are part of analysis.