Monthly Archives: November 2017

Phil 11.7.17

7:00 – 6:00 ASRC MKT

  • Renting a spec Miata at Summit Point 
  • This is really good: The Human Strategy A Conversation With Alex “Sandy” Pentland [10.30.17]
    • Human behavior is determined as much by the patterns of our culture as by rational, individual thinking. These patterns can be described mathematically, and used to make accurate predictions. We’ve taken this new science of “social physics” and expanded upon it, making it accessible and actionable by developing a predictive platform that uses big data to build a predictive, computational theory of human behavior.
  • Rerunning the DTW with the selected agent weight being the specified weight rather than scaled by the distance from the angle so that it matches better the RANDOM_AGENT and the RANDOM_AGENTS settings.
  • Ok, here’s the results. The relationships between the populations appears more consistent, but that could be normal variability. Time for some true statistics to see if these are actually distinct populations. I can also increase power by doing more runs. Possibly also increasing the population size, though there might be confounding effects. DTWEqualWeight
  • Pandas can read in a specific Excel sheet and numpy can run bootstrap on DataFrames, so I can automate the analysis. Going to talk to Aaron first, since he might be the one to go down this road.
  • I think the next step is to start on the UI for the polarization game. Angular?
      • Installing NodeJS
      • npm install -g @angular/cli -> added 968 packages in 56.599s. That is a lot of packages. The IntelliJ plugin seems to be working, the @angular/cli package is visible: NodeNPM
      • Creating a new project is reasonable NewAngularProject
      • Once the project is running, the way to compile and run seems to be to run ng serve –open in the IntelliJ terminal (Note: When running as non-admin, do this in a terminal with admin privileges). It then does a whole bunch of things when a code change is made:
        ** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
         10% building modules 8/10 modules 2 active ...\PolarizationGameOneUI\src\styles.csswebpack: wait until bundle finished: /                                                              Date: 2017-11-07T15:50:25.164Z
        Hash: b3174f5198d14bdc05ac
        Time: 4708ms
        chunk {inline} inline.bundle.js (inline) 5.79 kB [entry] [rendered]
        chunk {main} main.bundle.js (main) 20.8 kB [initial] [rendered]
        chunk {polyfills} polyfills.bundle.js (polyfills) 553 kB [initial] [rendered]
        chunk {styles} styles.bundle.js (styles) 33.8 kB [initial] [rendered]
        chunk {vendor} vendor.bundle.js (vendor) 7.02 MB [initial] [rendered]
        
        webpack: Compiled successfully.
        webpack: Compiling...
        Date: 2017-11-07T15:51:07.132Z
        Hash: 7b89b5a301e4a411e92d
        Time: 703ms
        
      • Everything is then sent to localhost:4200/, so all the browser debuggers are available
      • RunningAngular
      • And you can change the picture in the app.component.html file. re-renders on the fly. Pretty nifty. Yep verified:The ng serve command builds the app, starts the development server, watches the source files, and rebuilds the app as you make changes to those files.The --open flag opens a browser to http://localhost:4200/.
      • Pleasantly, if the install fails, ng serve –open will complete the install nd then start the server.
      • Added the ‘heroes’ component: AngularCLI AngularComponent
      • Then I got this error message:
        ERROR in src/app/heroes/heroes.component.ts(7,18): error TS2304: Cannot find name 'ViewEncapsulation'.
      • Turns out that I had to add ViewEncapsulation to the imports in heroes.components:
        import {Component, OnInit, ViewEncapsulation} from '@angular/core';
        
        @Component({
          selector: 'app-heroes',
          templateUrl: './heroes.component.html',
          styleUrls: ['./heroes.component.css'],
          encapsulation: ViewEncapsulation.None
        })
        export class HeroesComponent implements OnInit {
          constructor() { }
          ngOnInit() {
          }
        }

        Once added in, the rebuild happened and everything functioned normally. Correct error message in the IDE and everything!

  • Talked to Aaron about next steps with the herding data. We need to do something with NNs, and this could be a good fit
  • And now I have a nice little certificate of candidacy!

Phil 11.6.17

7:00 – 4:00 ASRC MKT

  • Going to try a batch job that runs the sim on a single population with a .2 radius and see if I can see a difference between the behaviors using DTW.
  • I had created a few bugs with changing the names of the flocks to Red and Green. Also, I had never run in batch mode with StorageAndRetreival. And calculations for an average center don’t work when there are no members of your flock. So fixing bugs.
  • First set of outputs from the batch jobs. Here’s the headings: HerdingHeadings
  • And here’s the DTW for the same settings (smaller stage though for proportionally greater differences): HerdingDTW
  • The first really obvious thing it that NoHerding is distinct from the other settings, which are more like echo chambers. Groupings tighten up as the radius increases, and the average heading approach may be statistically better than the random agents, but not by much. Lastly, RANDOM_AGENTS and RANDOM_AGENT lie on a continuum. As the switch between each agent takes longer, the more AGENTS will start to look like AGENT.

Phil 11.5.17

It’s a rainy day, so research.

Google TF Collaboratory 

I’m still looking at the Antifa/Nov search. Here’s what it looks like on Nov 5: AntifaNov5

To me, that looks a lot like the echo chamber hitting a respawn wall: EchoChamberAndTracesIn the above pictures, the recovery from the wall hit isn’t shown. I’m currently working on adding herding pieces, so I’ll the full chart later.

Got the random agents and random agent incorporated

Phil 11.3.17

7:00 – ASRC MKT

  • Good comments from Cindy on yesterday’s work
  • Facebook’s 2016 Election Team Gave Advertisers A Blueprint To A Divided US
  • Some flocking activity? AntifaNov4
  • I realized that I had not added the herding variables to the Excel output. Fixed.
  • DINH Q. LÊ: South China Sea Pishkun
    • In his new work, South China Sea Pishkun, Dinh Q. Lê references the horrifying events that occurred on April 30th 1975 (the day Saigon fell) as hundreds of thousands of people tried to flee Saigon from the encroaching North Vietnamese Army and Viet Cong. The mass exodus was a “Pishkun” a term used to describe the way in which the Blackfoot American Indians would drive roaming buffalo off cliffs in what is known as a buffalo jump.
  • Back to writing – got some done, mostly editing.
  • Stochastic gradient descent with momentum
  • Referred to in this: There’s No Fire Alarm for Artificial General Intelligence
    •  AlphaGo did look like a product of relatively general insights and techniques being turned on the special case of Go, in a way that Deep Blue wasn’t. I also updated significantly on “The general learning capabilities of the human cortical algorithm are less impressive, less difficult to capture with a ton of gradient descent and a zillion GPUs, than I thought,” because if there were anywhere we expected an impressive hard-to-match highly-natural-selected but-still-general cortical algorithm to come into play, it would be in humans playing Go.
  • In another article: The AI Alignment Problem: Why It’s Hard, and Where to Start
    • This is where we are on most of the AI alignment problems, like if I ask you, “How do you build a friendly AI?” What stops you is not that you don’t have enough computing power. What stops you is that even if I handed you a hypercomputer, you still couldn’t write the Python program that if we just gave it enough memory would be a nice AI.
    • I think this is where models of flocking and “healthy group behaviors” matters. Explore in small numbers is healthy – it defines the bounds of the problem space. Flocking is a good way to balance bounded trust and balanced awareness. Runaway echo chambers are very bad. These patterns are recognizable, regardless of whether they come from human, machine, or bison.
  • Added contacts and invites. I think the DB is ready: polarizationgameone
  • While out riding, I realized what I can do to show results in the herding paper. There are at least three ways to herd:
    1. No herding
    2. Take the average of the herd
    3. Weight a random agent
    4. Weight random agents (randomly select an agent and leave it that way for a few cycles, then switch
  • Look at the times it takes for these to converge and see which one is best. Also look at the DTW to see if they would be different populations.
  • Then re-do the above for the two populations inverted case (max polarization)
  • Started to put in the code changes for the above. There is now a combobox for herding with the above options.

Phil 11.2.17

ASRC MKT 7:00 – 4:30

  • Add a switch to the GPM that makes the adversarial herders point in opposite directions, based on this: Russia organized 2 sides of a Texas protest and encouraged ‘both sides to battle in the streets’
  • It’s in and running. Here’s a screenshot: 2017-11-02 There are some interesting things to note. First, the vector is derived from the average heading of the largest group (green in this case). This explains why the green agents are more tightly clustered than the red ones. In the green case, the alignment is intrinsic. In the red case, it’s extrinsic. What this says to me is that although adversarial herding works well when amplifying the heading already present, it is not as effective when enforcing a heading that does not already predominant. That being said, when we have groups existing in opposition to each other, that is a tragically easy thing to enhance.
  • Hierarchical Representations for Efficient Architecture Search
    • We explore efficient neural architecture search methods and present a simple yet powerful evolutionary algorithm that can discover new architectures achieving state of the art results. Our approach combines a novel hierarchical genetic representation scheme that imitates the modularized design pattern commonly adopted by human experts, and an expressive search space that supports complex topologies. Our algorithm efficiently discovers architectures that outperform a large number of manually designed models for image classification, obtaining top-1 error of 3.6% on CIFAR-10 and 20.3% when transferred to ImageNet, which is competitive with the best existing neural architecture search approaches and represents the new state of the art for evolutionary strategies on this task. We also present results using random search, achieving 0.3% less top-1 accuracy on CIFAR-10 and 0.1% less on ImageNet whilst reducing the architecture search time from 36 hours down to 1 hour.
  • Continuing with the schema. Here’s where we are today: polarizationgameone

Phil 11.1.17

Phil 7:00 – ASRC MKT

    • The identity of the machine is just as important as the identity of the human, argues Jeff Hudson.
    • Agent-based simulation for economics: The Tool Central Bankers Need Most Now
    • Introducing Vega-Lite 2.0 (from MIT Interactive Data Lab)
      • Vega-Lite enables concise descriptions of visualizations as a set of encodings that map data fields to the properties of graphical marks. Vega-Lite uses a portable JSON format that compiles to full specifications in the larger Vega language. Vega-Lite includes support for data transformations such as aggregation, binning, filtering, and sorting, as well as visual transformations such as stacking and faceting into small multiples.
    • Wayne says ‘awareness’ is too overloaded, at least in CSCW where it means ‘a shared awareness’. What about alertness, cognition, or perception?
    • Started Simulating Flocking and Herding in Belief Space. Shared with Wayne, Aaron and Cindy
    • Yay, finally got the array problems solved. The problem is that a PHP array is actually a set. But you can convert any set into a zero-indexed array using array_values(). So now all my arrays begin at zero, as God intended.
    • Meeting with the lads. Some really good stuff.
      • Add tmanage
        • dungeon_master
        • game
        • scenario
        • min_players
        • max_players
        • time_to_live
        • state (waiting, running, timeout, terminated, success)
        • open (true/false)
        • visible
      • Add trating
        • target_message
        • relevance
        • quality
        • vote
        • rating_player
      • Add ttopics
        • title
        • description
        • parent
      • Add tplayerstate
        • player
        • game
        • state (waiting, playing, finished, terminated)
      • Add tcontact
        • player
        • name
        • email
        • facebook (oAuth)
        • google (oAuth)
      • Add tinvite
        • contact
        • game
        • player

 

  • Humans + Machines (CNAS livestream)
    12:30 – 1:35 PM
    Dr. Jeff Clune, Assistant Professor of Computer Science, University of Wyoming
    Kimberly Jackson Ryan, Senior Human Systems Engineer, Draper Laboratory
    Dr. John Hawley, Engineering Psychologist, Army Research Laboratory
    Dr. Caitlin Surakitbanharn, Research Scientist, Purdue University
    Dan Lamothe, National Security Writer, The Washington Post (moderator)