Category Archives: Development

Phil 7.17.19

7:00 – ASRC GEOS

  • Got some nice NK model network plots working:
  • Added a long jump mutation when plateaus are hit:
  • Generally, fixed a lot of bugs in the code, but I think I understand the NK model thing. I do want to try and find how they did the traveling salesman problem
  • AI/ML Meeting
    • NASA? Air Force(?) are putting together a reinforcement learning model for autonomous spacecraft control, that requires a simulator.
  • Meeting with Wayne

Phil 7,11,19

7:00 – 4:30 ASRC GEOS

  • Ping Antonio – Done
  • Dissertation
    • More Bones in a Hut. Found the online version of the Hi-Lo chapter from BIC. Explaining why Hi-Lo is different from IPD.
  • More reaction wheel modeling
  • Get flight and hotel for July 30 trip – Done
  • So this is how you should install Panda3d and examples:
    • First, make sure that you have Python 3.7 (64 bit! The default is 32 bit). Make sure that your path environment points to this, and not any other 3.x versions that you’re hoarding on your machine.
    • pip install panda3d==1.10.3
    • Then download the installer and DON’T select the python 3.7 support: Panda3d_install
    • Finish the install and verify that the demos run (e.g. python \Panda3D-1.10.3-x64\samples\asteroids\main.py): asteroids
    • That’s it!
  • Discussed DARPA solicitation HR001119S0053 with Aaron. We know the field of study – logistics and supply chain, but BD has totally dropped the ball on deadlines and setting up any kind of relationship with the points of contact. We countered that we could write a paper and present at a venue to gain access and credibility that way.
    • There is a weekly XML from the FBO. Downloading this week’s to see if it’s easy to parse and search

Phil 7.10.19

7:00 – 5:00 ASRC

  • BP&S is up! Need to ping Antonio
  • Need to fix DfS to de-emphasize the mapping part. Including things like, uh, changing the title…
  • Pix at HQ – Done
  • Greenbelt today, which means getting Panda3D up and running on my laptop – Done. Had to point the IDE at the python in the install.
  • Need to add some thoughts to JuryRoom concepts
  • Send dungeon invites for the 23rd, and ping Aaron M. Done. Wayne can’t make it! Drat!
  • Dissertation working on the Bacharach section
  • Got the sim working on the laptop. I realize that the reaction wheel can be modeled as weights on a stick. Long discussion with Bruce T

Phil 7.9.19

7:00 – 5:30 ASRC GEOS

  • BP&S is “on hold” in ArXiv. Hoping that it’s overlap with DfS. I took the mapping text out of the DfS paper and resubmitted. Once that’s done I can send Antonio a link and get advice.
  • Code review with Chris
  • Contact David and see if he’s ok with July 23 – Nope. Trying Aaron M. as a replacement
  • More dissertation. Folded in most of the BP&S paper
  • Look! More mapping of latent spaces! Unsupervised word embeddings capture latent knowledge from materials science literature41586_2019_1335_fig4_esm
    • Here we show that materials science knowledge present in the published literature can be efficiently encoded as information-dense word embeddings11,12,13 (vector representations of words) without human labelling or supervision. Without any explicit insertion of chemical knowledge, these embeddings capture complex materials science concepts such as the underlying structure of the periodic table and structure–property relationships in materials. Furthermore, we demonstrate that an unsupervised method can recommend materials for functional applications several years before their discovery. This suggests that latent knowledge regarding future discoveries is to a large extent embedded in past publications. Our findings highlight the possibility of extracting knowledge and relationships from the massive body of scientific literature in a collective manner, and point towards a generalized approach to the mining of scientific literature.
  • More Panda3D
    • Intervals and sequences
    • Panda3D forum
    • Programming with Panda3D
      • Well, this is looking a lot like the way I would have written it
      • You can convert a NodePath into a “regular” pointer at any time by calling nodePath.node(). However, there is no unambiguous way to convert back. That’s important: sometimes you need a NodePath, sometimes you need a node pointer. Because of this, it is recommended that you store NodePaths, not node pointers. When you pass parameters, you should probably pass NodePaths, not node pointers. The callee can always convert the NodePath to a node pointer if it needs to.
      • Nodepath
    • Huh. It looks like there is no support for procedurally generated primitives. Well, I know what I’m going to be doing…
      • Origin – done
      • Grid
      • Cube (x, y, z size), color (texture?), Boolean for endcaps
      • Cylinder (radius+steps, length), color
      • Sphere  (radius+steps), color
      • Skybox (texture)
      • Then try making a satellite from parts
    • JuryRoom Meeting
      • A lot of discussion on UI issues – how to vote for/against, the right panel layout, and the questions that should be asked for Chris’ studyCapture

Phil 7.8.19

7:00 – 4:30 ASRC GEOS

  • Read and commented on Shimei’s proposal. It’s interesting to see how she’s weaving all these smaller threads together into one larger narrative. I find that my natural approach is to start with an encompassing vision and figure out how to break it down into its component parts. Which sure seems like stylistic vs. primordial. Interestingly, this implies that stylistic is more integrative? Transdisciplinary, primordial work, because it has no natural home, is more disruptive. It makes me think of this episode of Shock of the New about Paul Cezanne.
  • Working on getting BP&S into one file for ArXiv, then back to the dissertation.
    • Flailed around with some package mismatches, and had a upper/lowercase (.PNG vs. .png) problem. Submitted!
  • Need to ping Antonio about BP&S potential venues
  • The Redirect Method uses Adwords targeting tools and curated YouTube videos uploaded by people all around the world to confront online radicalization. It focuses on the slice of ISIS’ audience that is most susceptible to its messaging, and redirects them towards curated YouTube videos debunking ISIS recruiting themes. This open methodology was developed from interviews with ISIS defectors, respects users’ privacy and can be deployed to tackle other types of violent recruiting discourses online.
  • Pushed TimeSeriesML to the git repo, so we’re redundently backed up. Did not send data yet
  • Starting on the PyBullet tutorial
    • Trying to install pybullet.
      • Got this error: error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe’ failed with exit status 1158
      • Updating my Visual Studio (suggested here), in the hope that it fixes that. Soooooo Slooooow
      • Link needs rc.exe/rc.dll
      • Copied the most recent rc.exe and rcdll.dll (from into C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\
      • Giving up
  • Trying Panda3d
    • Downloaded and ran the installer. It couldn’t tell that I had Python 3.7.x, but otherwise was fine. Maybe that’s because my Python is on my D: drive?
    • Ran:
      pip install panda3d==1.10.3

      Which worked just fine

    • Had to add the D:\Panda3D-1.10.3-x64\bin and D:\Panda3D-1.10.3-x64\panda3d to the path to get all the imports to work right. This could be because I’m using a global, separately installed Python 3.7.x
    • Hmmm. Getting ModuleNotFoundError: No module named ‘panda3d.core.Point3’; ‘panda3d.core’ is not a package. The IDE can find it though….
    • In a very odd sequence of events, I tried using
      • from pandac.PandaModules import Point3, which worked, but gave me a deprecated warning.
    • Then, while fooling around, I tried the preferred
      • from panda3d.core import Point3, which now works. No idea what fixed it. Here’s the config that I’m using to run: Panda3dConfig
    • Nice performance, too: Pandas3D
    • And it has bullet in it, so maybe it will work here?
    • Starting on the manual

Phil 7.5.19

7:00 – 5:00 ASRC GEOS

  • Got a desk reject from JASSS. Finding a home for this is turning out to be hard
  • Adjust Belief Places and Spaces for a straight ArXiv submission (article, endquote, fix cites). I’m doing this partially out of spite – I don’t want to see JASSS looking back at me in my svn repo. But I also need to get all the parts fixed so that it can be folded into the dissertation. \citep doesn’t play well, and I need to replace all the quotes with \enquote{}.
  • Start folding BP&S into dissertation
  • Look for Collective Intelligence venue?
  • Updated Pandas, which was where I got hung on Tuesday. Now I can use DataFrame.to_numpy() instead of Dataframe.values
  • Continuing on TimeSeriesNormalizer – done! Below is the original file with the data in columns (left) and the normalized file with the data in rows (right): Normalized
  • Learning about PyBullet
  • Thought for the day. Find the snippet for each room/group with the most positive and most negative sentiment, and use that instead of the three words.

Phil 7.2.19

7:00 – 3:30 ASRC GEOS

  • Wrote up some preliminary notes about the run yesterday
  • Need to set up a schedule for another run in the last half of July
  • Added a “Bones in a Hut” section that follows the main lit review
  • Clustering today
    • Wrote up a workflow.txt file for the whole process.
    • Building TimeSeriesNormalizer class
    • Looks like I lost admin. Stalled

Phil 6.28.19

7:00 – 8:00 ASRC GEOS

  • Early timesheet
  • Sent Aaron a writeup on the clustering results

8:00 – 5:00 PhD

  • Made a poster of the map for the run on Monday
  • Dissertation for the rest of the day
    • Created a chapter and equation directory. Things are getting messy
    • Working on the simulation study chapter – I think the main part of the work is in there. Now I need to add the adversarial herding

Phil 6.27.19

7:00 – 5:00 ASRC GEOS

  • Still working on getting a fourth player
  • More dissertation. Starting to fold in bits of previous papers. Using the iConference and CHIIR full paper for the basic theory to start with. Then I think sections on mapping and adversarial herding, though I’m not sure of the order…
  • More cluster membership today – Done! Clustering
  • Nice chat with Tanisha

Phil 6.25.19

7:00 – 7:00 ASRC GEOS

  • Scheduled the map run for Monday, July 1, 12:30 – 4:30
  • Asked wayne for a 100-word bio by the end of the month. Working on mine today
  • What use are computational models of cognitive processes?
    • Computational modelers are not always explicit about their motivations for constructing models, nor are they always explicit about the theoretical implications of their models once constructed. Perhaps in part due to this, models have been criticized as “black-box” exercises which can play little or no role in scientific explanation. This paper argues that models are useful, and that the motivations for constructing computational models can be made clear by considering the roles that tautologies can play in the development of explanatory theories. From this, additionally, I propose that although there are diverse benefits of model building, only one class of benefits — those which relate to explanation — can provide justification for the activity.
  • DTW run looks good. It took 8 1/2 hours to run: fulldtw
  • Fixed a lot of things to get the clustering to behave, but it all looks good
  • Spend a while arguing online about ketchup vs. mustard with Aaron JuryRoom
  • Waikato meeting
    • Test with a few thousand posts using lorem ipsum
    • Maybe double the character count
    • Scroll to offscreen posts
    • Context-sensitive text
    • Toggle vote button
    • 500 default chars, variable

Phil 6.12.19

7:00 – 5:30 ASRC GEOS

Phil 6.11.19

ASRC GEOS 7:00 – 5:30

  • Some interesting stuff from ICML 2019
    • The Evolved Transformer
      • Recent works have highlighted the strength of the Transformer architecture on sequence tasks while, at the same time, neural architecture search (NAS) has begun to outperform human-designed models. Our goal is to apply NAS to search for a better alternative to the Transformer. We first construct a large search space inspired by the recent advances in feed-forward sequence models and then run evolutionary architecture search with warm starting by seeding our initial population with the Transformer. To directly search on the computationally expensive WMT 2014 EnglishGerman translation task, we develop the Progressive Dynamic Hurdles method, which allows us to dynamically allocate more resources to more promising candidate models. The architecture found in our experiments – the Evolved Transformer – demonstrates consistent improvement over the Transformer on four well-established language tasks: WMT 2014 English-German, WMT 2014 English-French, WMT 2014 EnglishCzech and LM1B. At a big model size, the Evolved Transformer establishes a new state-ofthe-art BLEU score of 29.8 on WMT’14 EnglishGerman; at smaller sizes, it achieves the same quality as the original “big” Transformer with 37.6% less parameters and outperforms the Transformer by 0.7 BLEU at a mobile-friendly model size of ~7M parameters.
    • DBSCAN++: Towards fast and scalable density clustering
      • DBSCAN is a classical density-based clustering procedure with tremendous practical relevance. However, DBSCAN implicitly needs to compute the empirical density for each sample point, leading to a quadratic worst-case time complexity, which is too slow on large datasets. We propose DBSCAN++, a simple modification of DBSCAN which only requires computing the densities for a chosen subset of points. We show empirically that, compared to traditional DBSCAN, DBSCAN++ can provide not only competitive performance but also added robustness in the bandwidth hyperparameter while taking a fraction of the runtime. We also present statistical consistency guarantees showing the trade-off between computational cost and estimation rates. Surprisingly, up to a certain point, we can enjoy the same estimation rates while lowering computational cost, showing that DBSCAN++ is a sub-quadratic algorithm that attains minimax optimal rates for level-set estimation, a quality that may be of independent interest
    • Garbage In, Reward Out: Bootstrapping Exploration in Multi-Armed Bandits
      • We propose a bandit algorithm that explores by randomizing its history of rewards. Specifically, it pulls the arm with the highest mean reward in a non-parametric bootstrap sample of its history with pseudo rewards. We design the pseudo rewards such that the bootstrap mean is optimistic with a sufficiently high probability. We call our algorithm Giro, which stands for garbage in, reward out. We analyze Giro in a Bernoulli bandit and derive a bound on its n-round regret, where ? is the difference in the expected rewards of the optimal and the best suboptimal arms, and K is the number of arms. The main advantage of our exploration design is that it easily generalizes to structured problems. To show this, we propose contextual Giro with an arbitrary reward generalization model. We evaluate Giro and its contextual variant on multiple synthetic and real-world problems, and observe that it performs well.
    • Guided evolutionary strategies: Augmenting random search with surrogate gradients
      • Many applications in machine learning require optimizing a function whose true gradient is inaccessible, but where surrogate gradient information (directions that may be correlated with, but not necessarily identical to, the true gradient) is available instead. This arises when an approximate gradient is easier to compute than the full gradient (e.g. in meta-learning or unrolled optimization), or when a true gradient is intractable and is replaced with a surrogate (e.g. in certain reinforcement learning applications or training networks with discrete variables). We propose Guided Evolutionary Strategies, a method for optimally using surrogate gradient directions along with random search. We define a search distribution for evolutionary strategies that is elongated along a subspace spanned by the surrogate gradients. This allows us to estimate a descent direction which can then be passed to a first-order optimizer. We analytically and numerically characterize the trade-offs that result from tuning how strongly the search distribution is stretched along the guiding subspace, and use this to derive a setting of the hyperparameters that works well across problems. Finally, we apply our method to example problems, demonstrating an improvement over both standard evolutionary strategies and first-order methods that directly follow the surrogate gradient
    • 2019 Workshop on Human In the Loop Learning (HILL)
      • This workshop is a joint effort between the 4th ICML Workshop on Human Interpretability in Machine Learning (WHI) and the ICML 2019 Workshop on Interactive Data Analysis System (IDAS). We have combined our forces this year to run Human in the Loop Learning (HILL) in conjunction with ICML 2019!
      • The workshop will bring together researchers and practitioners who study interpretable and interactive learning systems with applications in large scale data processing, data annotations, data visualization, human-assisted data integration, systems and tools to interpret machine learning models as well as algorithm designs for active learning, online learning, and interpretable machine learning algorithms. The target audience for the workshop includes people who are interested in using machines to solve problems by having a human be an integral part of the process. This workshop serves as a platform where researchers can discuss approaches that bridge the gap between humans and machines and get the best of both worlds.
    • More JASS paper
    • Start on clustering hyperparameter search
      • Created ClusterEvaluator. Going to use learning_optimizer as the search space evaluator – Done
    • Waikato meeting
      • Extract data from the PHP and Slack DBs for Tony and JASSS