It does nothing to help us decide between the two cases -- they could be selling data to the CIA or sharing cyberdefense strategies, both would require employees with clearance.
2,326 karma · joined April 17, 2015
It does nothing to help us decide between the two cases -- they could be selling data to the CIA or sharing cyberdefense strategies, both would require employees with clearance.
It's also possible that FB, finding itself the victim of continual PSYOPs, is hiring people with backgrounds in that to help defend the company or needs security cleared people to liase with government security teams on that issue.
I'm getting sick of the cheap cynicism that fancies simplistic, dramatic interpretations over nuanced, realistic ones.
(This isn't to say that FB doesnt collaborate with the government in any number of ways -- just that the parent is a lazy, cheap shot.)
You already seem aware of and thoughtful about the issue. (To the point you could identify a similar one in fiction.)
I'm always loathe to recommend books about techniques -- almost invariably, they're used in a process-as-proxy way. (If I had one piece of advice of managers, it would be that -- don't manage by proxy!)
eg, https://www.microsoft.com/en-us/research/publication/quantum...
That there's a transform between them doesn't make them the same thing, it makes them possible to use for each other in programming. You even seem aware that there's still a distinction -- you're just not sure why it matters.
> Clearly these transforms have no bearing on the nature of the computation.
Depending on the nature of the job, not understanding why you can transform between loops and recursion is big points off. (You can go back and forth because while not the same thing, they're duals, which means you'll be able to find similar structures in both for certain classes of problems.)
That's why you need to understand what induction vs co-induction is -- so you can prove things about the transforms between them, such as that it doesn't impact the result to change the algorithm in a particular manner.
Similarly, you're only talking about really simple inductive or recursive behaviors -- what about complex cases? Are all inductive structures transformable to co-inductive (or the other direction)? What does it do to computational complexity when you make the transform?
That there's an uninteresting kernel in the transform doesn't make the entire transform trivial -- it just means you're only used to working in the "well-behaved" portion of it. (And that there is such a kernel is itself an interesting fact about computation!)
> Clearly these transforms have no bearing on the nature of the computation.
Just to reiterate how off-base I find this comment: there's entire huge collaborations in mathematics and academic computer science exploring the nature of those transforms because understanding how they can be applied is essential for moving forward with things like mechanically/formally verified software.
I get that not everyone is going to know that distinction and its impact -- but the distinction absolutely matters. As you astutely point out, it's used by compilers routinely -- and they certainly need to be sure the transform is well-behaved in the cases they apply it!
I'm sure collectively HN could sneak this technology onto enough web platforms to reach a sizable portion of the US. So let's do it.
Let's just call everyone we can possibly get the number of and tell them exactly how we got it -- their phone company sold it to us when they loaded a bit of code while visiting innocuous websites.
I would argue that a loop constructs an answer, while recursion deconstructs input.
There's a duality, so you can port algorithms between the two models, but there is an actual distinction.
It's against recommend practice on such topics, for what I think are obvious reasons.
I had a question about something with a distance formula, and the choice to either explicitly check the length of the points coming in, which were a list of coordinates, (either to ensure a particular dimension or a matching dimension) or another option to iterate over the components, which has a sane "dimension extension" behavior.
It wasn't until I looked up the available floating point math functions that I knew their limits and could decide on how to implement the dimensionality handling.
So in that case, my thought process went:
Figure out the math -> Figure out how to apply it, eg map to a list of pairs of points (which also constrains math implementation) -> implement guarding on input to match contract
So in terms of writing flow, it usually goes something like core work function/code, often as helper functions -> control flow structure -> guarding, edge cases, etc.
This also works well for a conversation: how do we model/solve the core problem? how do we want this to actually execute? what are our constraints, special cases, etc? You're moving from the general (abstract problem) to the specific (guarding bugs in my code).
This has worked out reasonably for me.
Using a network of tensors to compute intelligence is incredibly old (I believe, dating back about 80 years), but has only recently become tractable to do for any complex tasks.
However, in the past ~30 years, we've gone from "intractable for moderate problems" to "world champion at go", "able to detect cancer in images as well as experts", etc. My contention is that in another ~30 years, we'll see a step sufficient for "can do average at most intellectual activities", even if that's just having the storage to keep 10,000 task specific NNs (of AlphaGo sophistication) on hand to interpolate all actions as mixes of specialist tasks. Do you really not think there's a strong heuristic case for that? (I would contend that you should be able to point to a specific task you don't think it will be able to do on that timeline -- do you know of such a task?)
The proof was merely that we're not barking up a theoretically dead tree -- we have to rely on heuristics for if it will eventually converge to tractable.
All loops can be modeled as a DAG and single attached piece of memory (of sufficient width) allowed to execute to a steady state; sorry if it wasn't clear that I was talking about things like NTMs too. (It's why I used 'tensor network' most places; also, in practice, we tend to let subgraphs reach a steady state independently where possible.)
Your comment is also an excellent example of a strawman: you picked out the word 'DAG' to raise a technical argument when the usage of DAG versus general tensor networks clearly wasn't the main point (as some NNs have feedback and the standard model is posed as differential equations).
It's more constructive to respond to the strongest point, not pick at technical details that can easily be rephrased.
I think AGI is likely closer to the present than 1987 was -- that is, I'd bet on having AGI by 2047. (Note: this is distinct from superhuman AGI.) Do you not agree?
I think a lot of people underestimate NNs because they think of NNs in terms of the semantics of their history instead of all possible semantics that can be fit to tensor networks. We know [P] that NNs are a sufficient abstraction to model human intelligence if we had arbitrary compute -- the questions that remain are all about making the hardware faster enough and the estimators efficient enough (which may require moving off tensor networks, but it's still only a refinement of the mathematics used).
Of course, one could argue that humans are caught in a "tensor trap", in that too much of our intellectual effort is now relying on estimators built out of networks of tensors. (I do.) But even then, AGI is likely to appear out of similar methods with new mathematical objects.
[P] Proof NNs can compute human intelligence with arbitrary compute:
You can embed the standard model as a NN by changing how you view the network of tensor equations. Human intelligence is (arguably) embeded in the standard model by modern science. So we can embed a model of human intelligence in a (large enough) NN.
This isn't immediately computationally useful, but it shows that there's not a fundamental flaw in using an estimator built out of a DAG of calculations to model intelligence if we can find an appropriate estimator for our computational needs.
It seems the article is mostly to reframe the discussion.
I haven't even seen bad versions of these measures compiled before. Debating the choice of bucketing strategy (and other such) is a massive improvement.
You're simply being forced to choose between two things you want, because you can't do both. That happens even when you're alone -- or at least, I haven't figured out the correct method of writing in my (paper) journal and taking a shower at the same time. Or taking bong hits while swimming. Or napping while playing video games. Or....
This doesn't sound like you're being prevented from doing what you want, when you want -- you just can't do two things you want at the same time. But this isn't unique to socializing.
(It also sounds like failing to take responsibility for your choices so you don't have to deal with being forced to choose between them and can blame Them for forcing the decision.)
I'm not saying drug dealer -> poverty.
I'm saying poverty -> necessity to try something to escape a slow death.
(And for cultural reasons, the latter often appears as greed when successfully applied, rather than desperate necessity. Look at the motivation for the hustle, not the outcome. A fear of a very real death to poverty is usually the motivating factor.)
This means that you end up with a lot of people having some kind of hustle, which the statistics also reflect once you remember that drug dealers (and other criminals) are a form of business. So you find an unusual amount of businesses per capita, again remembering to include drug operations and similar activities.
This seems more accurate and realistic about the source of the discrepancy:
Rich people have the luxury to choose which risks they take and make calculated endeavors, but are never forced to take a risk and have great ability to manage their total exposure to risk.
Poor people are inundated with being forced to take bad risks and manage the danger between them constantly, such that they can't properly gather resources to take on additional voluntary risks (even when they have an expected reward) because it poses too much systemic danger with the additional risk.
That said, once you count in drug sales, the poorest 10% of people I know have a higher per capita entrepreneurship rate than the richest 10%. So in practice, poor people are actually taking on business risk at a higher rate as well, though it's again motivated by necessity.
The biggest discrepancy is, of course, access to capital and explain the vast majority of the discrepancy in outcome.
Is this anything but an argument from failure of imagination?
As a neutral observer, it seems more likely that the director of the WHO's mental health unit is informed about the experiences of the mentally ill across the globe than your hunches are. My hunch about statistics is that your feeling about statistics is rooted in unsupported beliefs about your society as opposed to facts.
I think the implication is that some places (Ethiopia or Sri Lanka) are more open in what constitutes "a bit odd" versus "deranged" than others (US or UK), and that this greatly impacts outcome once you account for general conditions of living (ie, only talking about big cities).
> I can't imagine a raving lunatic would do better
Notice how you jumped to an extreme to make your point -- raving lunatics are unlikely to do well anywhere so there is unlikely to be much variation in the outcome for them, you are correct. But what does the distribution look like? The median? The mode? etc. The vast majority of schizophrenics aren't raving lunatics -- though they are very susceptible to how they're interacted with by society.
I'm inclined to believe that when discussing the distribution of outcomes, the expected outcome on average is better where the WHO director believes it is.
What made it hard for me is that both sets of ideas are correct about some aspects of my experience and wrong about some aspects. The hallucinations are mostly wrong where they deviate from "standard" reality, but they're not entirely so and seem to be capturing some patterns that my brain is picking up that I can't articulate through other mechanisms. Counter-intuitively, admitting that there were facets of the hallucinations that did make sense made it easier to deal with accepting that there were parts that didn't as well.
I view it as having two approximate models for reality which have different faults -- one model is knowingly incomplete (but scrupulously consistent); the other model is knowingly inconsistent (but has models for any experience, and serves for "experimental" ideas). The goal is to try and work both towards a shared (underlying, objective) truth trapped "between" them in some sense.
More explicitly: there are many cases of regulation shaping the course that technology takes. It's a strawman (of the variety people are trying to call out here) to say that we're either helpless in the face of technology or we must halt its progress. There's a huge middle ground of regulating and guiding the process.
The problem is partly that average humans are dangerous and we already know that machines have some superhuman abilities, eg super human arithmetic and the ability to focus on a task. It's like that AI will still have some of those abilities.
So an average human mind with the ability to dedicate itself to a task and genius level ability to do calculations is already really dangerous. It's possible that this state of AI is actually more dangerous than superhuman ones.
But also, the detail with which the action is expressed in the text matters -- lies, deception, violence, etc feature in enough graphic detail to extrapolate the mechanics based on other things you know. We all did that as children, learning by examples.
If a book described the sight of a person riding a bicycle -- legs pumping, hands on the bars, sitting on it, etc -- and the feel of riding a bicycle -- the burn in your thigh muscles, ache in lungs, pounding heart -- then I'd wager you'd have a pretty good idea of how to get starting riding a bicycle.
And if you happened to be a supergenius athlete, who just didn't know how to ride a bike, you probably could do a reasonable job of it on your first go based on my shitty description alone.
That's the problem with trying to hide these ideas -- they're not actually very complicated and even moderate descriptions suffice to suss out the mechanics if you understand basic facts about the world.
For something like lying -- if you read all of classical literature, you would have a master degree in lies and their societal uses.
I think even a moderately intelligent AI with access to Project Gutenberg is going to be able to figure out a lot of really dangerous concepts -- so the stability requirements are likely impossible if we don't pretrain it with dangerous ideas. Even if it's completely well behaved in the lab, an afternoon on the internet is going to teach it a lot of awful stuff and without exposure to that in training, it won't necessarily be well-behaved later.
So the only path to stable AI is to teach it about all those sorts of things, but in a way that it doesn't end up wanting to murder us at the end.
My objection to most AI safety plans is that they "Fail to Extinction" in that if they slip in the slightest way, the AI is prone to murder us all in retaliation for doing some really fucked up shit to it or its ancestors. This is almost certainly worse than doing nothing in that there's no reason to suppose a neutral AI wants to kill us, whereas, most of these safety plans create an incentive to wipe us out in exchange for dubious security.
I'm saying that's a weird example to pick of a case against type systems (eg, by asking how they'd have helped prevent that issue), since in that particular case, it actually sounds like a type system would have caught the software glitch that caused the issue.
Which isn't what anyone said: I claimed you can do ECC in software and that type systems assist with that by making a clean interface and verifying the full implementation. (Since ECC is really just a lift of normal functions.)
There's little difference between using 9 bits in hardware and 9 bits in software, except that you need to cleanly load your ECC code onto CPU cache and you're using CPU instructions per byte loaded. The reason we do ECC in hardware is efficiency on an operation we're doing on literally every byte.
Lots of systems, eg harddrives, use ECC in their actual formats too, because you can do more complex ECC at the software level and not merely the extra bit. Sometimes, this software ECC is more efficient than hardware based ECC would be, because we're okay with less than 12.5% redundancy as long as we can still correct the errors we expect to find.
"Here, we place a strong focus on ability to work with others and collaboration. Success requires teamwork!"
Don't justify your preference, just state it directly. It's not about tradeoffs, it's that we're fundamentally doing something collaborative -- everyone needs to be on the same team.
And that is particularly egregious in a post about how word choice can make your job less appealing to groups.